【发布时间】:2016-04-10 06:38:46
【问题描述】:
我有一个 git 存储库并在那里工作了几个月。现在我想回到历史上的一个提交。我通过运行列出了历史:
git log -3
这显示了前 3 次提交。然后我选择一个我想去的提交并运行:
git checkout 77486083c985e6858b8aecd6a085e2f028885b4b
在那之后,我认为我的 HEAD 已更改为该提交。当我运行git status 时,我得到:
HEAD detached at 6b90718
nothing to commit, working directory clean
我不明白“6b90718”是从哪里来的。我怎样才能读到这个ID?如果我想显示我当前所在的提交列表,我该怎么做?
【问题讨论】:
-
您应该会看到您签出的提交的前 7 个字符。
-
当你像这样签出一个提交 ID 时,你将 HEAD 指向那个特定的提交而不是它所在的分支。这就是“分离的 HEAD”状态 - HEAD 不再指向任何特定的分支,因此需要分支的操作(如合并)将无法正常工作。您可以通过签出一个分支(如 master)再次取消分离它。至于您在那里看到的特定提交 ID.. 嗯,它应该与您签出的任何内容相同。你确定你在 checkout 命令之后没有做任何事情吗?
-
checkout 命令后我什么也没做。我签出的提交 ID 是“77486083c985e6858b8aecd6a085e2f028885b4b”,但它如何变成“6b90718”
-
如果您签出带注释的标签,就会发生这种情况。
-
抱歉,我不明白您所说的查看带注释的标签是什么意思。
标签: git