Git远程源有两个分支

时间:2011-09-26 23:16:41

标签: git git-branch tortoisegit head master

我正在使用TortoiseGit for Windows。我在远程/原点看到两个分支:

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

我很困惑为什么HEAD显示为分支;我没有明确地在原点上创建一个单独的分支 - 它应该只是'master'。这不是一个真正的问题,因为无论如何它们似乎一起更新。

如果我在原点上执行git branch,它只显示'master'。

为什么有两个分支?这是特定于TortoiseGit的东西,还是特定于Git的东西?谢谢!

3 个答案:

答案 0 :(得分:1)

这是一个特定于git的东西。 HEAD是对当前已检出的内容的引用,即通常是分支。在您的情况下,HEAD只是master的别名。 TortoiseGit显然不能告诉普通分支的别名(“符号引用”),所以看起来好像HEAD是一个额外的分支,而实际上并非如此。

远程存储库的情况有点不同,远程存储库通常根本没有检出任何东西。您似乎在这里查看远程存储库。在这种情况下,当某人克隆该存储库时,该存储库的HEAD用于确定默认检出哪个分支。这就是为什么,当你克隆时,会检查一些分支或另一个分支:git不只是随机选择一个分支,而是查看源存储库的HEAD来做出决定。

答案 1 :(得分:0)

HEAD是当前版本。这里最好由this question回答。它与当前签出的参考文件完全相同。

答案 2 :(得分:0)

HEAD是远程仓库的当前“头部”,通常与主机相同。它是当前签出的分支/ ref,来自repo中的.git/HEAD文件,其内容如下:

ref: refs/heads/master