如何检查 git 合并后是否进行了所有更改

how to check that all changes were taken after a git merge

在我们的 git 工作流程中,我们使用分支(与此处描述的非常相似 a successful git branching model

所以当我们将一个分支合并到另一个分支时,我们使用:

git checkout <destination>
git merge --no-ff <src>

如果有冲突,解决后,我想检查合并是否正确(如果目标中没有任何内容被覆盖,并且所有更改都来自源)。

检查目标 i 中是否没有任何内容被覆盖 运行 合并前的提交与具有合并分辨率的提交之间的差异。

但是我如何检查所有东西都是从 master 那里拿走的并且没有在 merge/resolution 中丢失?

谢谢。

好吧,您可以确定所有冲突都已"taken"成功。如果有冲突,无论如何您都必须手动解决它们,因此 git 无法帮助您。

如果您经常不确定冲突期间会发生什么,git help merge 有一个选项供您选择:

   An alternative style can be used by setting the "merge.conflictstyle" configuration variable to "diff3". In "diff3"
   style, the above conflict may look like this:

设置此选项后,您不仅可以看到您和他们的一方,还可以看到冲突行的原文。那应该消除所有猜测。

您可以在合并分支中查看结果合并与上一次提交的差异

git diff HEAD^

此命令将显示当前状态(在您的情况下应该是合并)与此分支中的先前提交之间所有文件的差异