文章目录
(一)冲突的产生
多个用户同时操作同一个文件时,就可能产生冲突情况,下面演示一下
首先张三创建一个Hello.java,如下:
Commit,如下:
接着李四Update,如下:
李四对文件进行修改,如下:
然后Commit,如下:
此时回到张三,张三没有Update,而是再次修改文件,如下:
然后Commit,如下:
会看到报错了,如下:
我们只好Update
思考:此时Update的话,会不会把我之前写的文件给覆盖掉呢?
可以看到多了很多文件,如下:
解读:
- Hello.java:它是服务器上的文件与本地文件的合并
- Hello.java.mine:本地修改后的文件
- Hello.java.r12:对方修改前的文件(也就是此时服务器上的文件)
- Hello.java.r15:对方修改后的文件
(二)解决方法
右击合并后的文件(Hello.java),选中Edit conflicts,如下:
可以通过右击相应的代码行数,选中Use this text block来选用,如下:
也可以选择Use text block from ‘mine’ before ‘theirs’,效果是把两个文件合并,并且选择哪个文件的代码在前、哪个文件的代码在后,效果就不展示了
最后保存
如果上面这个步骤忘记选中Mark as resolved的话,可以点击下面这个图标:
最后可以看到张三文件夹只剩一个文件了,如下:
此时我们再提交,如下:
总结:我们后期进行开发,每次修改文件之前都要Update一下,尽可能的避免冲突