2013-02-19 63 views
0

我注意到,出於某種原因,我的一些的Git分支與「遙控器/來源」前綴:GitHub的遙控器/產地前綴

BZ9 
* master 
remotes/origin/BZ8 
remotes/origin/BZ9 
remotes/origin/HEAD -> origin/master 
remotes/origin/junit1 
remotes/origin/master 

之間有什麼區別,例如,「遙控器/原產地/ BZ9「分公司和BZ9分公司?顯然,它們都來自同一個概念分支,但git認爲它們是不同的。

回答

0

在您的列表中,「BZ9」和「主」都是本地分支,您可以自由移動更新和刪除。當您在其中一個分支上進行提交時,分支會更新以指向您的最新提交。

然而,當您鍵入git branch -a時顯示的遙控器/原點前綴名稱就像分支一樣,但您可以將其視爲「只讀」。這些分支您不直接控制,它們在您抓取時自動設置,並且在您再次抓取(或拉出)之前它們不會更改。

這是因爲與跟蹤您本地開發的本地分支不同,遠程/起源分支跟蹤遠程開發(從「起點」)的服務器。例如,「remotes/origin/junit1」是說:「最後一次從遠程原點回購倉庫獲取git,那裏有一個叫做junit1的分支,指向這個提交散列」。

您可以像檢查其他任何遠程分支一樣檢出該分支,但是當您提交此分支時,分支指針不會更新,因爲它不打算跟蹤本地進度,而是用於跟蹤遠程回購的進度。

您的本地進度由您當地的分支機構跟蹤,您可以根據需要自由創建,更新和刪除。同樣,如果其他人從你的回購中克隆出來,那麼當他們從你那裏獲取時,他們會有兩個遠程分支:「遙控器/原點/ BZ9」和「遙控器/原點/主控器」。換句話說,您當地的分支機構成爲您下游某人的遠程/原籍分支機構。

這就是您所有的遠程/起始分支都是它們,它們是您上游回購的本地分支的只讀副本。