还原 和还原有什么区别?

问题描述 投票:0回答:2

我有3次提交已推送到我的存储库。

  • Commit3
  • Commit2
  • Commit1

因此,如果我尝试使用命令git revert commit2Hash恢复Commit2,它将发出警报以解决合并前的冲突。

但是如果我尝试使用命令git revert HEAD~1还原Commit2,它将直接还原Commit2,而不会给我任何冲突。

请,为什么会这样?

git github revert git-revert
2个回答
2
投票

HEAD~0是您的最新提交(也简称为HEAD

HEAD~2表示从零开始计数的第二次提交的哈希。

因此,键入git revert HEAD~2,您正在尝试还原Commit1。就是这样。


0
投票

没有git log--graph的输出始终是线性的,但实际历史记录可能是平行的。当git log打印时

commit3
commit2
commit1

HEAD~1可能等效于commit1,而不是commit2。用git log --oneline --graph --decorate查看真实的历史记录。当commit2commit1分开并且commit3是合并提交时会发生。

© www.soinside.com 2019 - 2024. All rights reserved.