-1

所以我在这里有点困惑,需要澄清一下。我无法完全描述所有的提交和工作流程,但它类似于下图

在此处输入图像描述

在最后一次提交中,我在分支上release-2.0.0并使用 Intelij 从分支合并到当前分支featureB

我收到一条短信,上面写着

no merged conflicts
> changes to commit c23 -> a number of files
> changes to commit b 12 -> a number of files

考虑到我将功能 B 分支合并到 release-2.0.0 中,文本changes to commit b 12 -> a number of files对我来说很有意义。但是,其他文本changes to commit c23没有任何意义。

实际的 git 结构要复杂得多。我无法分析地描述它。但是,我试图了解合并在什么情况下会产生此结果,为什么?

任何信息,将不胜感激

4

1 回答 1

1

常规提交对其父级引入了一些更改,并且它只有一个父级,并且在浏览提交的更改时很清楚。但是合并提交有多个(在示例中为两个)父级,并且合并提交中保存的内容可能与任何(或所有)父级不同。这有时有助于了解这些更改是什么。

默认情况下git show,合并提交不会显示这些更改,而只会列出需要解决冲突的文件。但是您可以致电git show -m查看针对所有父母的差异。

IntelliJ 尝试使提交中的更改更清晰,并在更改浏览器中显示此信息。如果您不想看到这一点,请禁用上下文菜单中的Show Changes to Parents选项。

于 2021-02-09T17:23:04.710 回答