Git checkout 标签问题 - 标签未更改

标签 git git-checkout

我的 Git 存储库中有一些标签:

  • 发布/20-000RC1
  • 发布/21-000RC1
  • 发布/22-000RC1

首先我查看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


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

git checkout release/22-000RC1
git status

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

“git status”显示的是release/21-000RC1,而不是release/22-000RC1。

我很困惑为什么在 checkout release/22-000RC1后,在执行状态时它仍保留在21-000RC1上?

最佳答案

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

如果它们相等,则标签位于同一提交上。您 checkout 到 release/22-000RC1,这是一个标记有 release/21-000RC1 的提交,并且该标记是之前创建的,因此显示的是它的名称。

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

git tag --points-at HEAD

关于Git checkout 标签问题 - 标签未更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30631000/

相关文章:

git - 使用多个id_rsa文件(SSH-KEYGEN)在github上推送

git - 为什么我不能 checkout 另一个 git 分支?

git : revert to old version for particular file with checkout command and commit

git - 将 git checkout 中的子模块包含到钩子(Hook)中的 GIT_WORK_TREE

tfs - VSTS (Azure DevOps) 中的错误 - 操作仍在进行中。请稍候再试

git - 列出远程分支 - git branch -a vs git ls-remote --heads origin

git - 使用 Ansible 从 Bitbucket 克隆一个 git repo - 要求密码两次或三次

git - "selectively"与 git merge

Git check out 文件 - 文件名中的大小写

git - Cygwin git push 挂起,msysgit 没问题