一个 git repo 可以有多少个 HEAD?

gra*_*eqc 3 git branch

我遇到过这个quora 问题,其中两个答案指出只能有一个头,一个答案指出可以有多个头。

此外,我还发现了中等文章,其中作者指出存储库中可以有任意数量的头(“存储库可以包含任意数量的头”)。

现在我很困惑,如果有人能在这个问题上给出提示,我将不胜感激。

Von*_*onC 5

一个答案是可以有多个 HEAD

该答案指的是分支的最新提交。
它们被列在 .git\refs\heads.

这与@(HEAD) 不同,它位于 中.git/HEAD,代表您所在的位置:

  • 要么是一个分支
  • 或提交(“分离的 HEAD”)

虽然有多少个分支就可以有多少个头,但只能有一个头,因为你不能同时出现在多个地方。
除非你计算git worktree list,这会列出附加到同一存储库的多个工作树......每个都有自己的头!