在svn中从主干更新分支

当你需要从主干更新你分支,或反方向,或在两个分支间合并,就用得着merge了。下面以从主干更新分支 为例简要介绍合并操作的步骤。要进一步了解,还是应该去阅读svn的文档。另外尽量不要用图形客户端,我开始用Eclipse的svn插件总是莫名其妙的 merge fail。在shell里直接执行命令就好了。

最重要的是,一定要理解merge操作的含义:比较两个目录,然后应用结果到工作目录。也就是说,在命令中要提供三个目录的位置。
请用

svn help merge

命令查看merge的语法。 


最容易犯的一个错误是企图把你的分支和主干比较,千万不要这样做
。应该在主干的两个版本间进行比较。

步骤:
step1. check out你的分支到本地,并进入该目录。
step2. 确定待比较的起始版本号。


svn log ---stop-on-copy
从给出的信息中查看你的分支是从哪个版本建立的,假设你从版本号100建立了你的分支。
step3. 比较主干的版本100和最新主干的差别,将差别应用到工作目录。

cd 工作目录
svn merge 
-100:HEAD 主干目录

step4. 解决冲突。当执行了第三步时,终端会给出反馈信息,每行信息都会以一个大写字母开头,如A代表添加,U代表修改等,注意C代表冲突。可以将第三步操作的输 出管道至grep来查看哪些文件冲突了。用编辑器打开冲突的文件,你会发现文件里冲突的行已经被用<<<<<或===== 等符号做了标记。怎样解决冲突呢?很简单,用文本编辑器手动修改。每解决一个冲突,就应该用

svn resloved 冲突的文件
来告诉系统冲突已经解决了。
step5. 好了,在本地已经合并完毕,提交到服务器就行了。 
原文地址:https://www.cnblogs.com/nicebear/p/1201805.html