签出 Git 标签,但 HEAD 指的是分支

Checkout Git tag but HEAD referring to branch

当我 git 结帐到 Git 标签时,HEAD 指的是我创建标签的分支。

这正常吗?

或者我哪里做错了?

任何解释将不胜感激。 谢谢

When I git checkout to a Git tag, the HEAD is referring to a branch where I created the tag. Is this normal?

是的

每当您使用 git checkout git 更改存储库的 HEAD。 HEAD 只是引用提交。

如果您的提交不是当前分支中的最新提交,您将处于detached HEAD.

在此处阅读有关分离式 HEAD 的更多信息:


Git 将您的提交存储在像序列一样的列表中。这意味着每个提交都指向存储在提交的父属性中的前一个提交。当您签出标签时,它通常是过去的 "old" 提交。这导致分离的 HEAD。


... the HEAD is referring to a branch where I created the tag

无论何时签出 git 标签,它都不会指向创建标签的分支,因为如果您将该分支合并到其他分支,标签可以位于多个分支中。

Git 处于分离的 HEAD 状态,您不在任何分支上,而是处于 分离的 HEAD