svn代码冲突,不能提交的解决方案

对于刚接触svn的人来说,svn冲突后,不能提交是件让人很郁闷的事情。最让人郁闷的事,是代码间的覆盖。你把我代码盖了,我会很火大的。谁把谁的盖了都不爽。

为 什么会出现代码冲突问题呢,因为不同的人,同时修改了同一个文件的同一个地方,这个时候,他提交了,你没有提交,你就提交不了,这个时候,你要先更新,更 新就会出现代码冲突问题。一般情况,要尽量避免多个人修改同一个文件,如果你改的文件是公用文件,这个时候,最好和大家勾通一下,大家都在改就不好了。

 

下面我说一个,通用的解决冲突的办法,还不会覆盖代码,以test.php为例 :

 

1,修改文件后提交不了,大多是因为版本不一致造成的。更新一下,不产生冲突的情况,就可以提交了。

 

2,更新文件,如果出现冲突的情况,打开冲突文件test.php会看到类似以下的内容

 

<<<<<<<<<<<<<<<
asdfadfadfadf
11111111111111
=======
asdfadfadfadf
111111111111111
222222222222
>>>>>>>>>>>>>>>>

 

结 合别人修改的内容和自己修改的内容,然后把文件中的<<<<<,=====,>>>>>& gt;>这类冲突符号去掉。去掉后,还是不能提交的,为什么?因为冲突时会产生三个文件,有这三个文件存在肯定提交不了。

 

客户端用的tortoisesvn(这个估计程序员用的最多),冲突时会多产生,三个文件

 

test.php.mine   是冲突前自己的文件

 

test.php.版本号   是冲突前本地的版本文件

 

test.php.服务器的版本号   是冲突后服务器版本文件

 

提交的时候,把这三个文件删除掉就可以提交了。

 

3,产生覆盖的原因。

 

a),在修改冲突文件test.php时,把别人代码都删除掉了,只留下了自己的代码。这样就会产生覆盖了。

 

b),把test.php.mine中的内容直接copy到test.php文件,这样也会产生代码覆盖。

 

上面二种情况都是我亲眼看到新手这样操作的,要避免这二种操作方法。

 

 

本文摘自:http://zhumeng8337797.blog.163.com/blog/static/10076891420111017501878/

 

原文地址:https://www.cnblogs.com/anzhao/p/3546541.html