SVN命令行入门复习及遇到的no common ancestry问题

一,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’

    原文作者:MCUS
    原文地址: https://www.jianshu.com/p/02e6b1696f6d
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞