版本冲突原因:举个例子,如果张三和李四合作做同一个项目A,当前SVN服务器中最新版本是A.1,张三和李四都在A.1的基础上再进行开发。张三将当天做好的版本提交后,此时服务器中最新版本是A.2,这时李四又提交自己的版本上去,这时李四的版本是基于A.1改的,而服务器中此时的最新版本是A.2因此不能顺利提交,会产生版本冲突,系统不知道哪个版本才是最佳的。
解决冲突:
原理:提交产生冲突的用户手动修改,协商两个版本,产生一个最终版本。
过程:
1. 张三和李四都把项目A导出到本地,其中有个名为test的文件。当前张三李四和服务器上都是版本V.1
2. 张三修改了test文件如下,并且提交了该文件。此时服务器中该文件版本为V.2,张三手里的也是V.2
3. 李四修改test文件如下
4. 李四提交遇到版本冲突问题如下
5. 点击OK,再选择Update、OK
6. 这时会看到李四的资源文件夹下多了几个文件
7. 右键带黄色叹号的文件,点击TortoiseSVN中的Eidit Conflicts,显示如下
说明:左上Theirs中是当前服务器中的版本,右上Mine是自己的版本,下面Merged是最终版本,如果要在最终版本中使用Theirs中的一行,就在Theirs中那行选中后右键选择use this text block,如果要选整个文件就选择use this whole file.修改完成后保存。
8.如果选择最终版本用李四的。
9.保存后关闭该窗口,右键带黄色叹号的文件,点击TortoiseSVN中的Resolved,再选中要Resolve的文件,点击ok
再点击OK
10.再Commit提交李四的文件,就成功了,
至此李四成功的提交了自己修改的文件,解决了版本冲突问题。