我有3个提交推送到我的存储库。
- 委员会3
- 委员会2
- 委员会1
因此,如果我尝试使用命令git revert commit2Hash
还原Commit2,它将发出警报,以便在合并前解决冲突。
但是,如果我尝试使用命令git revert HEAD~1
还原Commit2,它将直接还原Commit2,不会给我任何冲突。
拜托,为什么会发生这种事?
HEAD~0
是您的最新提交(也称为HEAD
(
HEAD~2
表示从零开始计数的第二次提交的散列。
因此,键入git revert HEAD~2
时,您正试图还原Commit1。这就是区别。
没有--graph
的git log
的输出总是线性的,但真实的历史可能是平行的。git log
打印时
commit3
commit2
commit1
CCD_ 10可以等效于CCD_ 11而不是CCD_。使用git log --oneline --graph --decorate
查看真实历史。当commit2
和commit1
分叉并且commit3
是合并提交时,就会发生这种情况。