git 存储库可以有多少个 HEAD?

How many HEADs a git repo can have?

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

此外,我发现 medium article 作者在其中声明一个存储库中可以有任意数量的头部(“一个存储库可以包含任意数量的头部。”)。

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

one answer that there can be more than one HEAD

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

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

  • 任一分支
  • 或提交(“分离的 HEAD”)

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