一,SVN创建分支:
svn cp -m “create branch”svn://路径/trunk svn://路径/branches1
二,获取分支
svn cosvn://路径/branches1
三,合并主干(trunk)上的最新代码(最好先Update操作)到分支上
cd 本地branches1路径
svn merge svn://路径/trunk
四,分支合并到 主干
cd 本地trunk路径
svn merge —reintegrate svn://路径/branches1
分支合并到主干中完成后应当删该分支,因为在SVN中该分支已经不能进行Update刷新也不能合并到主干。
五,合并版本并将合并后的结果应用到现有的分支上 ,(【版本号1】替换为旧的版本号)
svn -r 【版本号1】:【版本号2】merge svn://路径/trunk
六,预览该merge刷新操作
svn mergeinfo svn://路径/trunk —show-revs eligible
或使用svn merge –dry-run选项以获取更为详尽的信息。
注意:
出现下面这个问题时,记得在命令后面加上 –ignore-ancestry 来忽略根源;
在终端中,进入工程的根目录,
输入 svn -r 【版本号1】:【版本号2】merge svn://路径 –ignore-ancestry
如果还解决不了,这个时候应该回到起始点来解决,他们是no common ancestry, 就是因为trunk,或者分支工程目录级别没有设置好,方法应该是:
从trunk中创建一个新的分支,你要保证要合并的两个分支都是同一级别的,例如 ,branches/br1 和 branches/br2 就是同一个级别的,如果 是branches/ios/br2 就是不同级别,在merge合并时 依然会 出现no common ancestry问题。
svn: E195012: ‘svn://。。。branches/rb-2.5-bp’ shares no common ancestry with ‘/Users/xin/Desktop/project_ios/ios’