2011-09-26 90 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