场景:当我们忘记更新或者别人提交到服务器上的代码速度太频繁,然后我们直接修改代码,然后提交的时候,会发现要提交的文件out of date,然后我们不假思索直接右键更新,然后就会有下面的解释了
解释过程:
1. 我在目录A刚提交了一个文件:新建文本文档.txt,内容是123
2. 我在另一个目录B check out这个文件,然后修改为1283,然后提交
3. 这时我在目录A在没有更新的情况下,修改内容为9123,然后提交,会报异常:
点OK,然后我直接更新,会得到4个文件:
新建文本文档.txt内容为:
<<<<<<< .mine
9123
=======
1283
9123
=======
1283
>>>>>>> .r1129
新建文本文档.txt.mine内容为:9123
新建文本文档.txt.r1128内容为:123
新建文本文档.txt.r1129内容为:1283
*. 其中新建文本文档.txt包含了服务器和我本地修改的内容,
<<<<<<< .mine
...本地内容...
=======
...最新版本内容...
>>>>>>> .r最新版本号
*. 新建文本文档.txt.mine包含我本地的内容
*. 新建文本文档.txt.r1128包含我本地使用的最旧版本内容
*. 新建文本文档.txt.r1129包含最新版本内容
*. 由此还可以看出服务器的新建文本文档.txt只被别人修改提交了一次
使用工具:TortoiseSVN 1.8.8, Build 25755 - 64 Bit
可选避免冲突方案:
假如在开发工具中使用svn,可以先同步资源查看服务器修改的内容,然后修改到本地,再处理提交
如果使用TortoiseSVN,可以右键文件TortoiseSVN → Check for Modifications,然后点击Check repository(不点击Check repository话,不会自动刷新资源最新状态),然后找到你的文件,双击或右键Compare with HEAD and BASE,就会看到几个区域,左边是远程服务器的最新资源内容,右边是本地修改的内容,下边是整合的内容,可以看到服务器修改了什么内容,是否和你本地文件冲突,你可以将服务器修改的内容修改到本地在处理提交。