我看到你的行为
git checkout HEAD~N
不会回到我的git历史中。
如果我的提交历史是这样的
git log --oneline -n 5
3ad352f (HEAD -> develop, origin/develop, asdf) commit message
93eeda7 Merged in branch (pull request #224)
911eb78 (origin/sdfa, asdf) Removes txt file
4b9de92 branch1
7a162e3 Merged in branch1 (pull request #223)
我做了一个
git checkout HEAD~5
我的理解是,我的头应该指向5年前的提交。然而,当我运行这个命令时,我看到如下情况:
$ git checkout HEAD~5
$ git rev-parse HEAD
49569625ffe9bfc13fdd4f1f5baab9a72ef7ca02
$ git rev-list --count `git rev-parse HEAD`..develop
13
看起来我实际上在13年前签出了一个提交,而不是我预期的5个。
有人能解释一下发生了什么,以及我如何在一个commit N commit之前签出一个commit吗?