一、前言
像我们平时开发中,总会遇到代码冲突的问题,什么是代码冲突?就是别人对这个文件做了修改,你也对这个文件做了修改,当你提交或者更新代码的时候,你会发现你们修改的文件存在冲突的地方。那我们要怎么解决这个问题呢?本文主要是针对SVN下代码冲突问题是怎么解决的进行相关说明。
二、步骤
①与服务器有冲突的文件
点击Update以后,如果出现以下情况(出现四个文件),就说明需要解决冲突
点击更新后,出现了如上四个文件
- .mine结尾的是我改过的基础文件
- .r18结尾的是SVN基础版本文件
- .r23结尾的是SVN上别人修改过的文件
那么如何解决冲突:
②出现文件冲突的时候:你有四个选择:
以我修改的为准
不管服务器目前的那个版本,比如另外一个人和我同时修改了同一个地方,但是我觉得我写的更好。右击冲突文件,选择 Mark Resolved(标记为解决(K))
在弹出框中选择第二个(Resolve the conflict by using my version of the file.),点击OK即可。
然后,同步视图中文件状态如下:
选择文件提交到SVN服务器即可。
♦以别人修改的为准
选择服务器目前最新的版本,比如我原来想改这个文件,后来发现别人已经改好了,就可以选择这个
跟上面操作步骤一样
- 右击冲突文件,选择 Mark Resolved:
- 在弹出框中选择第三个(Resolve the conflict by using the incoming of the file.),点击OK即可
♦以服务器的基础版本为准
选择服务器的基础版本,比如我改着改着,后来别人说这个功能不做了,其他人修改的也要取消,就可以选择这个
- 右击冲突文件,选择 Mark Resolved
- 在弹出框中选择第四个(Resolve the conflict by using base version of the file.),点击OK即可
♦别人改的也需要,我改的也需要,这样就要进行编辑冲突,将我们的两个文件合成一个
右击冲突文件,选择 Edit Conflicts
在弹出框中,对两个文件进行合并,以左边的那个为准。合并完以后,保存
右击冲突文件,选择 Mark Resolved,在弹出框中选择第一个(Conflicts have been resolved in the file.),点击OK即可
最后将合并后的文件提交到SVN服务器。