0

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

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

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

如果我git branch在原点执行,它只显示“主人”。

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

4

3 回答 3

1

这是一个特定于 git 的东西。HEAD是对当前签出的事物的引用,即通常是一个分支。在您的情况下,HEAD只是master. TortoiseGit 显然无法从正常分支中分辨出别名(“符号引用”),因此它看起来好像HEAD是一个额外的分支,而实际上不是。

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

于 2011-09-26T23:48:03.573 回答
0

HEAD是当前版本。这个问题最好在这里回答。它将与当前签出的 ref 完全相同。

于 2011-09-26T23:19:33.333 回答
0

HEAD 是远程 repo 的当前“头”,通常与 master 相同。它是当前签出的分支/引用,来自.git/HEADrepo 中的文件,其内容如下:

ref: refs/heads/master
于 2011-09-26T23:48:58.177 回答