尤其是团队开发的时候,多个开发人员对同一个文件的相同行代码都进行了修改,那么后者提交的会覆盖前者提交的,但是svn不会覆盖,会提示此文件冲突,需要我们手动去解决冲突。
这里以两个用户分别是dashen和cainiao用户为例。
dashen用户先对1.php文件进行修改然后提交:
dashen用户修改第5行和第6代码之后,进行提交,也就是现在svn服务器中的1.php的文件内容应该dashen提交的。
cainiao用户提交之前,对1.php文件的第5和第6行代码也进行了修改,修改如下:
提交会发现有冲突:
解决办法:点击上面的升级。或者是更新都可以,出现如下文件:
文件说明:
文件名.mine :当前用户准备要提交的文件
文件名.r8(8代表版本号):两者未提交之前,服务器上面最新的文件
文件名.r9(9代表版本号):代表前一个用户提交的服务器上面最新的文件
黄色感叹号的文件:把两者有冲突的代码部分整合在一起。
解决办法:把除开黄色感叹号的以外的三个文件给删除掉,在整合黄色的文件,再次进行提交即可。
整合冲突代码的时候,程序员(工程师)之前应该彼此商量一下,使用谁的代码。不要轻易覆盖人家的代码。
Reference:
版本控制之svn
转载于:https://www.jianshu.com/p/ea5d6dbc3a09