Svn合并冲突的解决办法

2017-08-08 19:46:50出处:SVNSpot代码托管作者:SVNSpot

先说一下冲突的原因:一般情况是因为同一个文件,同一行代码段,同时被两个人修改,另一个人在你之前提交了svn。你此时也修改了这个位置的代码,再提交,svn客户端就会提示你先更新,再提交。但是更新后,就提示冲突了。无法下一步操作。也就是【下图】这个红色提示。

提示冲突

本文中的这个例子,是小编自己模拟了一个冲突的现象。使用的是【svn update to version...】,我主要讲如何来合并解决冲突。下面两个图,是版本13,版本12,与本地的副本差异图,后面会用得到。本地的副本此时是版本13,但我们修改了内容,第一行变为00000,修改后未提交。这时我们强制更新至版本12,冲突就会出现。

svn版本13内容

svn版本12内容

此时,本来目录是一个文件testA.txt ,结果多出3个其它的文件,此时千万不把其它的文件删除,或者手工去改 testA.txt里的内容。这样只会无法处理冲突,你得用其它办法来解决了,这个不在本文范围内。

svn冲突文件列表

正确的做法是,点击testA.txt文件,使用TortoiseSVN菜单里的【Edit conflicts】这个功能,编辑冲突

svn编辑冲突菜单

工具自带的一个编辑窗口,主要分为三个部分,左上是指冲突的版本12文件的内容,右上是我们本地副本的内容(就是刚修改了,未提交的文件),最下面,是处理冲突合并后的效果。这里大家对比上面的版本13,版本12,两张图片,版本12的第一行是【111222】,副本的第一行是【00000】,这里提示的就是它们两个冲突,工具不知道如何自动合并,只能人工处理。

我们最后修改的内容为【0000】,我们在右上的窗口这一行上面点击右键,选择【使用此块】,下面的合并窗口内容第一行,就会变为绿色(原来是红色的一行问号),如此类推,两边进行选择正确的代码就可以,重要的是【Merged】的窗口里的内容是我们想要的,就可以。最后都处理完,下图上方红圆圈的地方【Narj as resikved】点击它,完成合并冲突。

svn冲突处理方法

此时,目录中的多余文件消失掉,再看下testA.txt的内容,就是我们刚合并的内容,好了,冲突合并的解决流程就演示完成,下一步就可以提交文件,又回到基本的操作上。

svn合并完成

本文系平台原创,转载请写明出处,谢谢合作!

©2008-2017 svnspot 京ICP备08104716号-1 京公网安备11010502030800号