github上的冲突是什么?是怎么产生的?
转载:https://www.zhihu.com/question/57624522作者:知乎用户链接:https://www.zhihu.com/question/57624522/answer/1028664416来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。冲突分为多种,例如:编辑冲突、内容冲突、逻辑冲突、树冲突等。常见的有编辑冲突、内容冲突。编辑冲突是指:两
转载:https://www.zhihu.com/question/57624522
作者:知乎用户
链接:https://www.zhihu.com/question/57624522/answer/1028664416
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
冲突分为多种,例如:编辑冲突、内容冲突、逻辑冲突、树冲突等。常见的有编辑冲突、内容冲突。编辑冲突是指:两个开发者对同一个文件的同一行做了修改。内容冲突是指两个开发者对同一个文件的同一块区域做了修改。以下介绍的冲突都默认指编辑冲突。冲突是针对至少三方而言的,例如:1、公共基础文件base;2、甲基于base修改后的新文件;3、乙基于base修改后的新文件。冲突是指:以“不同方式“ 改变“同一文件”的“相同部分”, 三个条件缺一不可。言外之意就是,以“不同方式“ 改变“同一文件”的“不同部分”, 是不会构成冲突的。难点是对“相同部分”的理解,有另一种说法比较好理解:多人对同一个文件的"同一行"做了不同的修改。值得注意的是:这里的"同一行",是指甲乙都修改了“原来的公共基础文件base的同一行”。即:甲乙都针对“原来的公共基础文件base的同一行“进行了修改。冲突是需要根据一个参考坐标系来确定的,这个参考坐标系是“原来的公共基础文件“。甲乙根据参考坐标系才能确定是否冲突。而很多人单单误以为冲突是指:仅仅直接比较甲乙两个文件的不同。以上为同一行冲突补充:如果连续的两行及以上都被修改,即使每行只被任意一方修改,则这连续部分也会被视为冲突,亲测!
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)