乌龟的远古起源有两个分支



我正在使用TortoiseGit for Windows。我看到remote/origin上有两个分支:

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

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

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

为什么有两个分支?这是特定于tortoisegit的事情,还是特定于git的事情?谢谢!

这是礼物特有的东西。HEAD是对当前签出的东西的引用,通常是一个分支。在您的情况下,HEAD只是master的别名。显然,TortoiseGit无法从正常分支中区分别名("符号ref"),所以它看起来好像HEAD是一个额外的分支,而实际上它不是。

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

HEAD是当前版本。最好用这个问题来回答。它将与当前签出的ref.

完全相同。

HEAD是远程回购的当前" HEAD ",通常与主版本相同。它是当前签出的分支/ref,来自repo中的.git/HEAD文件,其内容如下:

ref: refs/heads/master

最新更新