1. 问题描述
冲突问题是最常见的问题,它是这样产生的,A用户 check out 了一个工作副本A,接着B用户又check out了一个工作副本B。
然后A用户对副本A中的文件C做了修改(可以是内容修改,文件删除,重命名,以及位置移动),并且提交。
这时候B用户也对文件C的相同部分做了修改,这时候如果B用户进行提交,会先被告知版本过时,要求更新,后更新的时候会提示冲突了,这时候可以用冲突编辑器进行手动选择
提交失败之后,会出现多个版本,此时需要解决版本冲突
2. 解决版本冲突的两种办法
2.1 使用 SVN 自带的冲突工具
执行 edit conflicts 启动工具修改
我们在里边合并最后的两句话,然后点击 saved
执行 commit
2.2 手动解决
直接打开手动修改
执行resolve
效果图:
自己去修改,执行 commit
3. SVN 提交代码的规范
4. 出现版本冲突的场合
A 早上 update 代码,写了一天;
B 在其间 commit ;
A 备份自己的代码,update B 的代码,再整合进去自己的代码,再 commit
5. 防止版本冲突的办法
- 先update,再修改(不能完全解决)
- 设置锁lock(太狠了,一般不建议使用)
- 右键 –> TortoiseSVN –> get lock(相反: release lock)
- 尽量避免,协调一下,谁的工作量小谁就尽量后提交一下
- 分不同的包,尽量避免同时修改一个文件,如果不是同时修改一个文件,不会有冲突