SVN - 解决冲突 - 四
团队开发中经常会发生同一文件被两个或者两个以上的工作人员同时修改,然后更新提交的时候发生冲突。
原理:SVN 即版本管理控制工具,冲突就出在版本处。
假设张三、李四,同时检出项目,此时两人检出的项目版本号是相同的,比如项目中一个文件A.txt,假设当前A.txt 版本号为 100。
当张三 修改 A.txt 然后提交后, 此时 SVN 服务端中保存的 A.txt 的版本号变为 101。
假设现在 李四也修改了 A.txt,此时李四项目中 A.txt 版本号为 100, 此时李四想提交代码,先更新项目吧,李四项目中的所有文件都要被更新为最新版本,但是此时 A.txt 在服务器版本已经到 101了,将会修改李四项目中版本为 100 的 A.txt,如果李四未对 A.txt 修改,就会将李四项目中的 A.txt 直接更新为 101版本, 但是李四也修改了 A.txt,此时服务器便不是知道怎么办了,这样就产生了冲突,SVN 不知道该怎么处理李四项目中的 A.txt 了。下面就要手动修改了。
例子如下
(1)修改 S 中的One.txt 文件,提交
(2)修改 H 中的 One.txt
(3) 提交 H 项目,首先Update(更新),遇到冲突如下, 说明 One.txt 文件发生冲突
(4)看 H 项目中 A.txt
(5)处理冲突,选择冲突文件One.txt
(6)弹出窗口,显示冲突细节
(7)手动修改选择保留哪些模块
(8)手动合并后保存
(9)合并后结果
成功处理冲突