文章目录

(一)冲突的产生
(二)解决方法

(一)冲突的产生

多个用户同时操作同一个文件时,就可能产生冲突情况,下面演示一下
首先张三创建一个Hello.java,如下:
TortoiseSVN之冲突产生&解决方法(三)
Commit,如下:
TortoiseSVN之冲突产生&解决方法(三)
接着李四Update,如下:
TortoiseSVN之冲突产生&解决方法(三)
李四对文件进行修改,如下:
TortoiseSVN之冲突产生&解决方法(三)
然后Commit,如下:
TortoiseSVN之冲突产生&解决方法(三)
此时回到张三,张三没有Update,而是再次修改文件,如下:
TortoiseSVN之冲突产生&解决方法(三)
然后Commit,如下:
TortoiseSVN之冲突产生&解决方法(三)
会看到报错了,如下:
TortoiseSVN之冲突产生&解决方法(三)
我们只好Update
思考:此时Update的话,会不会把我之前写的文件给覆盖掉呢?
可以看到多了很多文件,如下:
TortoiseSVN之冲突产生&解决方法(三)
解读

  • Hello.java:它是服务器上的文件与本地文件的合并
  • Hello.java.mine:本地修改后的文件
  • Hello.java.r12:对方修改的文件(也就是此时服务器上的文件)
  • Hello.java.r15:对方修改的文件

TortoiseSVN之冲突产生&解决方法(三)
TortoiseSVN之冲突产生&解决方法(三)
TortoiseSVN之冲突产生&解决方法(三)
TortoiseSVN之冲突产生&解决方法(三)

(二)解决方法

右击合并后的文件(Hello.java),选中Edit conflicts,如下:
TortoiseSVN之冲突产生&解决方法(三)
TortoiseSVN之冲突产生&解决方法(三)
可以通过右击相应的代码行数,选中Use this text block来选用,如下:
TortoiseSVN之冲突产生&解决方法(三)
TortoiseSVN之冲突产生&解决方法(三)
也可以选择Use text block from ‘mine’ before ‘theirs’,效果是把两个文件合并,并且选择哪个文件的代码在前、哪个文件的代码在后,效果就不展示了
TortoiseSVN之冲突产生&解决方法(三)
最后保存
TortoiseSVN之冲突产生&解决方法(三)
如果上面这个步骤忘记选中Mark as resolved的话,可以点击下面这个图标:
TortoiseSVN之冲突产生&解决方法(三)
最后可以看到张三文件夹只剩一个文件了,如下:
TortoiseSVN之冲突产生&解决方法(三)
此时我们再提交,如下:
TortoiseSVN之冲突产生&解决方法(三)
TortoiseSVN之冲突产生&解决方法(三)
总结:我们后期进行开发,每次修改文件之前都要Update一下,尽可能的避免冲突

相关文章: