我有3次提交已推送到我的存储库。
因此,如果我尝试使用命令git revert commit2Hash
恢复Commit2,它将发出警报以解决合并前的冲突。
但是如果我尝试使用命令git revert HEAD~1
还原Commit2,它将直接还原Commit2,而不会给我任何冲突。
请,为什么会这样?
HEAD~0
是您的最新提交(也简称为HEAD
)
HEAD~2
表示从零开始计数的第二次提交的哈希。
因此,键入git revert HEAD~2
,您正在尝试还原Commit1。就是这样。
没有git log
的--graph
的输出始终是线性的,但实际历史记录可能是平行的。当git log
打印时
commit3
commit2
commit1
HEAD~1
可能等效于commit1
,而不是commit2
。用git log --oneline --graph --decorate
查看真实的历史记录。当commit2
和commit1
分开并且commit3
是合并提交时会发生。