SVN 不同的环境merge项目merge产生冲突以及解决冲突

通常开发中项目有三个目录:dev test trunk:

dev:进行开发,开发完成,把项目Merge到test下,测试环境下发布的是test下的项目。

测试通过,再把dev下的项目Merge到trunk下,生产发布的是trunk下的项目。

在合并项目的时候经常会产生冲突,解决冲突是必不可免的。



一 产生冲突

现在有一个项目,有一个trunk目录,给trunk目录创建了一个分支dev目录,目录里都有1.txt  2.txt文件,如下:

SVN 不同的环境merge项目merge产生冲突以及解决冲突_第1张图片

SVN 不同的环境merge项目merge产生冲突以及解决冲突_第2张图片

SVN 不同的环境merge项目merge产生冲突以及解决冲突_第3张图片


dev修改了1.txt,并提交,内容如下:

dev 1a

trunk也修改了1.txt,并提交,内容如下:

trunk 1a


此时,把dev合并到trunk,会产生冲突

SVN 不同的环境merge项目merge产生冲突以及解决冲突_第4张图片



二 解决冲突:


选择 Resolve all late

rSVN 不同的环境merge项目merge产生冲突以及解决冲突_第5张图片

Conflicted 的那一行就是冲突的文件,右键这个文件,

可以选择 Resolve conflict using 'theirs' (这个是保留分支上的修改也就是这里的dev里的1.txt),

可以选择 Resolve conflict using 'mine' (这个是保留主干上的修改,也就是这里的trunk里的1.txt)

可以选择 Edit Conflicts ,编辑冲突:

SVN 不同的环境merge项目merge产生冲突以及解决冲突_第6张图片


最下面的面板是编辑的地方,上左边是 dev的修改,上右边是trunk的修改,编辑完点击保存SVN 不同的环境merge项目merge产生冲突以及解决冲突_第7张图片

选择 Mark as resoved,已经解决,关闭编辑窗口。可以看到冲突已经解决。

SVN 不同的环境merge项目merge产生冲突以及解决冲突_第8张图片

点击OK 完成Merge.


需要注意的地方:

如果合并产生冲突,不要点击Abort Merge(停止合并)或者右上角×,因为会生成很多乱七八糟的文件:

SVN 不同的环境merge项目merge产生冲突以及解决冲突_第9张图片

SVN 不同的环境merge项目merge产生冲突以及解决冲突_第10张图片


要选择 Resolve all later,按照上面的步骤解决冲突,而不是终止。


你可能感兴趣的:(svn)