当我们进行典型的合并(例如:从分支A到B)时,如果发生冲突,我可以通过运行以下命令来查看差异:
git status
git difftool --dir-diff --cached
但如果没有冲突,那么这些命令就不会返回任何结果。我们运行git push
将更改推送到远程存储库(在此示例中为B分支)。
在这种情况下,您可以运行哪个命令以查看刚刚拉取(和推送)的差异?
git diff
命令可以显示您想要的内容。git diff <merge-commit> <merge-commit>^1 # diff against 1st parent
git diff <merge-commit> <merge-commit>^2 # diff against 2nd parent
如果你有一次八爪鱼合并,这些命令将向你展示每个上级带入合并中的单独变更。
如果你要合并的提交是当前的head,那么你可以执行以下操作:
git diff HEAD^1
git diff HEAD^2
git log
命令查找合并提交的哈希代码,然后使用git diff <哈希代码>
。示例 - Eduardo Hitekgit log -n 1
显示合并提交,而git diff xxx~1
列出了差异。 - Marcus Leon