2012-12-09 135 views
7

我最近在一個我已經開始研究的項目中被介紹給git,鼓勵我開始閱讀Scott Chacon的在線版「Pro Git」。「git remote add」究竟幹什麼?

本書中有一部分簡要介紹了添加「遠程存儲庫」的主題。由於Git是一個分佈式SCM,我知道使用GIT的一個常見情況是在您的本地機器上「克隆」遠程存儲庫並在本地副本上工作。當您完成更改並提交對本地副本的所有更改後,您就可以將更改「推送」到遠程存儲庫,以便其他人也可以查看您的更改。

這讓我想起了我的問題 - 從我的理解,「混帳遠程加上」有效「增加了」遠程倉庫的速記符號,我們可以在以後使用。我不明白的是 - 因爲我通過只指定一個存儲庫URL進行克隆,我如何在本地項目的目錄下添加多個存儲庫URL?

準確地說,假設我檢查出使用

git clone git://git.apache.org/commons-lang.git 

這在整個項目導致GIT複製在我的名爲「公地郎」本地目錄中的Apache的公地琅項目。由於我只使用一個網址進行克隆,因此在這裏做一個「遠程添加」是什麼意思?這是否意味着可以在多個服務器上託管同一個項目(commons-lang),或者是否可以通過添加新的遠程地址來克隆本地項目中的新項目?

對於初學者般的問題語氣道歉。只是試圖讓我的事實直截了當。謝謝。

回答

13

您可以使用git remote add(來自「Git Basics - Working with Remotes」)添加儘可能多的上游回購地址。

克隆時,一個爲你添加,命名爲「origin」。

這是否意味着在同一個項目(公共琅)可以在多臺服務器上託管,

是的,這是由於混帳的分佈式特性,因爲推拉介紹出版物工作流程which is orthogonal到合併工作流程。

還是我可以通過添加一個新的遠程地址克隆我的本地項目中的新項目?

號可以從不同的上游回購取。

請參閱 「Definition of 「downstream」 and 「upstream」」。

一個經典場景,你git remotes add是在GitHub上分叉時:
請參閱 「How do I merge locally a master and a fork in git?

remote add

  • origin在GitHub上克隆你的叉子時,爲你添加。
  • ,但你需要git remote add upstream https://github.com/user/reponame爲了讓您的本地克隆跟上最新與原來的回購(HTE一個你不能直接貢獻,這就是爲什麼你必須做出GitHub上叉擺在首位)。