SVN学习之-版本冲突解决

来源:互联网 发布:helpdesk软件 编辑:程序博客网 时间:2024/03/29 17:27

 

版本冲突原因:举个例子,如果张三和李四合作做同一个项目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,再选择UpdateOK

 

 

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提交李四的文件,就成功了,

至此李四成功的提交了自己修改的文件,解决了版本冲突问题。