多个 Git 合并的顺序是否重要?

时间:2021-05-05 09:32:55

标签: git merge git-merge

假设我有三个或更多分支,一个“master”分支 M 加上“feature”分支 B1 和 B2。

是否合并:B1 到 M; B2转M 对于 M 总是产生与合并相同的结果:B2 到 M; B1转M

如果不是,在合并顺序不同后,如何确保两个不同版本的M相等?

1 个答案:

答案 0 :(得分:0)

一般的答案是:您不应该假设“合并 B1 然后 B2”产生与“合并 B2 然后 B1”完全相同的结果,“合并”操作的顺序可能很重要。

无论如何:你不应该假设成功的合并意味着代码没问题;你应该总是检查一些额外的步骤:检查代码、运行编译器/你的构建脚本、运行你的 linter、运行你的单元测试、QA ...


就合并而言:一些额外的元素可能会让您知道顺序无关紧要

B1 只修改 backend/ 中的文件,B2 只修改 frontend/ 中的文件——或者更一般地说,如果修改后的文件完全不相交——那么是的,它们会通勤;

或者,如果在检查公共文件的修改方式时,您可以看到差异块作用于文件的不同部分(*),您也可以推断出您可以按任何顺序合并。

但再次重申:您最好先合并(以任何顺序)然后测试结果,而不是试图依赖某些通勤属性。


(*) : 不完全正确,这需要更正式的定义