目前实验结果为:
假设有master和branch1,用master合并branch1时(在master分支中执行git merge branch1):
1、在同一个地方,master做了修改,branch1没有修改,则合并后是修改了的
2、在同一个地方,master没有修改,branch1修改了,则合并和还是修改了的
也就是说,在同一个地方,一个分支做了修改,另一个分支没有做修改,则合并后的结果总是修改了的
3、在同一个地方,两条分支都做了修改,则产生冲突。注意的是,这里说的同一个地方,并不一定是绝对一模一样的地方,而是在一个很小的范围内,都算同一个地方,比如:
master修改了第一行,而branch1修改的是第二行,这也算是同一个地方,git会认为这是在同一个地方两个分支都做了修改,因而会产生冲突。这个应该是跟文件系统的block相关了,猜测是同一个block都算是同一个地方。
记录目前的实验结果,后续补充