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

Git: Determining merge changes when no conflicts

当我们进行有冲突的典型合并(即:从分支 A 到 B)时,我可以通过 运行ning 看到差异:

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

但如果没有冲突,那么这些命令不会 return 产生任何结果。我们 运行 git push 将更改推送到远程仓库(本例中为分支 B)。

在这种情况下,您可以使用什么命令 运行 查看您刚刚下拉(和推送)的差异?

也许 git diff 命令会显示您想要的内容。

Git diff 是 "helping" 你告诉你合并没有引入新的变化。合并的所有更改都由其父项的更改说明。您可以通过专门比较合并与一个或另一个父级来查看进入合并的各个更改,例如

git diff <merge-commit> <merge-commit>^1 # diff against 1st parent
git diff <merge-commit> <merge-commit>^2 # diff against 2nd parent

如果你有章鱼合并,依此类推。这些将向您显示每个父项为合并带来的单独更改。

如果有问题的合并提交是您当前的负责人,那么您可以

git diff HEAD^1
git diff HEAD^2