Git 结帐标签问题 - 标签未更改

Git checkout tag issues - tag is unchanged

我的 Git 存储库中有几个标签:

首先我查看 release/20-000RC1:


git checkout release/20-000RC1
git status

HEAD detached at release/20-000RC1

状态正确显示 release/20-000RC1


然后我去看看 release/21-000RC1:

git checkout release/21-000RC1
git status

HEAD detached at release/21-000RC1

状态正确显示release/21-000RC1


现在我终于结帐了 release/22-000RC1,并且...

git checkout release/22-000RC1
git status

HEAD detached at release/21-000RC1
nothing to commit, working directory clean

而不是 release/22-000RC1 "git status" 显示 release/21-000RC1.

我很困惑为什么在 release/22-000RC1 结帐后它在做状态时停留在 21-000RC1?

您是在查看 release/20-000RC1 还是在查看 git 哈希 f425ed7?如果您正在检查 git 散列,则您不在分支上。 "Detached head" 是一个非常伤人的消息,但它只是说 "hey, put a branch label here so you don't lose your work."

The merge is not the issue, but rather the fact that I do "git checkout release/22-000RC1" and then when I do "git status" it tells me that I'm on release/21-000RC1.

运行以下命令。他们将显示 sha1-s 的提交,连接到这些标签。输出是否相等?

git rev-parse release/21-000RC1
git rev-parse release/22-000RC1

如果它们相等,则标签在同一提交上。您签出到 release/22-000RC1,这是一个标记为 release/21-000RC1 的提交,并且该标记是较早创建的,因此显示的是它的名称。

您可以使用以下命令列出所有标签,指向当前提交。

git tag --points-at HEAD