Git:确定合并更改时没有冲突

3

当我们进行典型的合并(例如:从分支A到B)时,如果发生冲突,我可以通过运行以下命令来查看差异:

git status
git difftool --dir-diff --cached 

但如果没有冲突,那么这些命令就不会返回任何结果。我们运行git push将更改推送到远程存储库(在此示例中为B分支)。

在这种情况下,您可以运行哪个命令以查看刚刚拉取(和推送)的差异?

2个回答

2
也许 git diff 命令可以显示您想要的内容。

“git diff”做的与我正在尝试的“git difftool”相同。不返回任何结果。 - Marcus Leon
1
嗯,在这种情况下,您可以使用git log命令查找合并提交的哈希代码,然后使用git diff <哈希代码>示例 - Eduardo Hitek
这样做是可以的:git log -n 1 显示合并提交,而 git diff xxx~1 列出了差异。 - Marcus Leon

1
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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接