2011-09-26 119 views
0

我使用Windows的TortoiseGit。我看到遠程/起源的兩個分支:Git遠程起源有兩個分支

HEAD  20 minutes ago  Some commit message. 
master  20 minutes ago  Some commit message. 

我很困惑,爲什麼HEAD顯示爲分支;我沒有明確地創建一個獨立的分支 - 它應該只是'主'。這不是一個真正的問題,因爲它們似乎一起更新。

如果我在原點執行git branch,它只顯示'master'。

爲什麼有兩個分支?這是一個TortoiseGit特定的東西,還是一個特定於Git的東西?謝謝!

回答

1

這是一個混帳特定的事情。 HEAD是對當前簽出的內容的引用,即通常是分支。在你的情況下,HEAD只是master的別名。 TortoiseGit顯然不能告訴一個正常分支的別名(「符號引用」),所以看起來好像HEAD是一個額外的分支,但實際上並不是這樣。

遠程存儲庫的情況有點不同,遠程存儲庫通常根本沒有檢出任何東西。您似乎在這裏查看遠程存儲庫。在這種情況下,當某人克隆該存儲庫時,該存儲庫的HEAD用於確定默認檢出哪個分支。這就是爲什麼當你克隆時,某個分支或另一個分支被檢出:git並不是隨機選擇一個分支,而是查看源存儲庫的HEAD來做出該決定。

0

HEAD是當前修訂版。最好在這裏回答this question。它將與當前檢出的參考文件完全相同。

0

HEAD是遠程回購的當前「頭」,通常與主人相同。這是目前結帳分行/參考,並從回購裏面的.git/HEAD文件,其內容如下:

ref: refs/heads/master