转载:https://www.zhihu.com/question/57624522
作者:知乎用户
链接:https://www.zhihu.com/question/57624522/answer/1028664416
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
冲突分为多种,例如:编辑冲突、内容冲突、逻辑冲突、树冲突等。常见的有编辑冲突、内容冲突。编辑冲突是指:两个开发者对同一个文件的同一行做了修改。内容冲突是指两个开发者对同一个文件的同一块区域做了修改。以下介绍的冲突都默认指编辑冲突。冲突是针对至少三方而言的,例如:1、公共基础文件base;2、甲基于base修改后的新文件;3、乙基于base修改后的新文件。冲突是指:以“不同方式“ 改变“同一文件”的“相同部分”, 三个条件缺一不可。言外之意就是,以“不同方式“ 改变“同一文件”的“不同部分”, 是不会构成冲突的。难点是对“相同部分”的理解,有另一种说法比较好理解:多人对同一个文件的"同一行"做了不同的修改。值得注意的是:这里的"同一行",是指甲乙都修改了“原来的公共基础文件base的同一行”。即:甲乙都针对“原来的公共基础文件base的同一行“进行了修改。冲突是需要根据一个参考坐标系来确定的,这个参考坐标系是“原来的公共基础文件“。甲乙根据参考坐标系才能确定是否冲突。而很多人单单误以为冲突是指:仅仅直接比较甲乙两个文件的不同。以上为同一行冲突补充:如果连续的两行及以上都被修改,即使每行只被任意一方修改,则这连续部分也会被视为冲突,亲测!