首页 > 解决方案 > 签出 Git 标签,但 HEAD 指的是分支

问题描述

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

这是正常的吗?

或者我在哪里做错了?

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

标签: gitgit-checkoutgit-tag

解决方案


当我 git checkout 到 Git 标签时,HEAD 指的是我创建标签的分支。这是正常的吗?

是的

每当您使用git checkoutgit 时,请更改存储库的 HEAD。HEAD提交的简单引用。

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

在此处阅读有关分离的 HEAD 的更多信息: 如何将 HEAD 移回以前的位置?(分离的头)


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


... HEAD 指的是我创建标签的分支

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

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


推荐阅读