假设我有 2 个提交,我已经推送到我的远程分支。
如何在不删除提交 A 的情况下恢复到提交 B?我只想比较这两个提交之间的结果。
注意:不需要代码比较。我只想比较 Commit A 和 Commit B 的输出
我强烈不同意其他建议您使用git revert. 这实际上会真正还原由提交 A引入的更改并自行生成提交。
由于您想查看某个时间点的状态,您可以直接签出Commit B以便您可以检查内容。之后签出原始分支以返回到最新的提交。
git checkout $HASH_OF_COMMIT_B # now you are in a detached head state at commit B
git checkout $BRANCH # now you are back at the tip of the branch (commit A)
Run Code Online (Sandbox Code Playgroud)
很多工具可以让您直接查看两个引用之间的差异,而无需结帐。在命令行上,这可以通过以下方式完成git diff:
git diff $HASH_OF_COMMIT_A..$HASH_OF_COMMIT_B
Run Code Online (Sandbox Code Playgroud)