当我将一个分支合并到另一个分支时,将会有一个三向合并。Git将检查一个文件的共同父文件,并尝试找出如何合并。这里有可能发生冲突。
对于rebase,我没有看到冲突是可能的,因为我的提交只是在现有的提交上被删除。我的理解对吗?
建议将提交视为所有文件的快照。当然,在内部,git会存储差异之类的东西,但从概念上讲,每次提交都是当时repo的完整快照。
假设公共父分支为B1。参与重组的另外两个分支是B2和B3。
现在假设B1上没有名为abc.c的文件。分支B2添加此文件并为其中的销售引擎编写一些代码,而分支B3添加同名文件并为报表引擎编写一些代码。哪一个叫我留着?
可以理解,git的开发者选择在这里声明一个冲突,让用户来决定。