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

来源:互联网 发布:windows游戏栏打不开 编辑:程序博客网 时间:2024/05/22 01:43

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

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

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

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



一 产生冲突

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





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

dev 1a

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

trunk 1a


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




二 解决冲突:


选择 Resolve all late

r

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

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

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

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



最下面的面板是编辑的地方,上左边是 dev的修改,上右边是trunk的修改,编辑完点击保存

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


点击OK 完成Merge.


需要注意的地方:

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




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


原创粉丝点击