比方说,我目前的git日志是
commit3
commit2
commit1
我将头重置为commit2。
现在我想回到commit3,但是我忘记 commit3的sha-1,所以我想查看日志,但“git log”只会显示commit2,commit1,我的问题是如何重置为commit3或让日志显示现在也是commit3?
由于
答案 0 :(得分:10)
使用git reflog
查找旧参考并直接将其传递给git log
。请注意,定期清除reflog,并且最终将删除旧提交,除非它们是分支的一部分 - 如果要撤消提交但将其保留在历史记录中,请使用git revert
撤消它们而不将其从历史。
答案 1 :(得分:5)
命令
git reflog
将显示已成为HEAD的SHA列表。换句话说,它按照已检出的顺序显示提交列表。在该列表中,您还会看到语法HEAD@{1}
,HEAD@{2}
等。这是解决之前HEAD的方法。
我的情况git checkout HEAD@{1}
应该检查commit3,因为它是当前HEAD之前的HEAD。
答案 2 :(得分:0)
有两种方法: -
Classic:git reflog
大图:) git log --graph --decorate --oneline