【发布时间】:2020-01-08 18:25:08
【问题描述】:
假设我有一个包含三个提交的 Git 存储库:
$ git log --oneline
62fa462 (HEAD, master) Third commit
76f2df9 Second commit
c05b82a First commit
现在我不小心使用checkout 将HEAD 移动到第二次提交:
$ git checkout 76f2df9
Previous HEAD position was 62fa462 Third commit
HEAD is now at 76f2df9 Second commit
然后我想恢复以前的状态,所以我使用reset:
$ git reset --hard 62fa462
HEAD is now at 62fa462 Third commit
这行得通,从日志中可以看出,HEAD 再次指向master:
$ git log --oneline
62fa462 (HEAD, master) Third commit
76f2df9 Second commit
c05b82a First commit
但是,当我检查状态时,我得到:
$ git status
HEAD detached from 76f2df9
nothing to commit, working tree clean
我真的不明白,为什么HEAD 仍然分离?在日志中,它显示(HEAD, master),所以它应该指向master 分支,对吧?至少日志看起来和开始时一切正常时一模一样。
这里出了什么问题?
【问题讨论】:
标签: git version-control git-checkout git-reset