svn基本操作(2) -- 分支

分支、标签操作

一、创建分支/标签,其实分支就是另一份拷贝

svn copy <source_url> <dist_url>

二、合并分支

svn merge

你想合并所有分支的修改到主干上,让别人也可以使用。

这种场景下如何使用svn merge ?记住这个命令比较两个目录树,然后应用比较结果到工作拷贝,所以要接受这种变化,你需要主干的工作拷贝,我们假设你有一个最初的主干工作拷贝(完全更新),或者是你最近取出了/calc/trunk 的一个干净的工作拷贝。

 

但是要哪两个树进行比较呢?乍一看,回答很明确,只要比较最新的主干与分支。但是你要意识到—这个想法是错误的 ,伤害了许多新用户!因为svn merge 的操作很像svn diff ,比较最新的主干和分支树不仅仅会描述你在分支上所作的修改,这样的比较会展示太多的不同,不仅包括分支上的增加,也包括了主干上的删除操作,而这些删除根本就没有在分支上发生过。

为了表示你的分支上的修改,你只需要比较分支的初始状态与最终状态,在你的分支上使用svn log 命令,你可以看到你的分支在341版本建立,你的分支最终的状态用HEAD 版本表示,这意味着你希望能够比较版本341和HEAD 的分支目录,然后应用这些分支的修改到主干目录的工作拷贝。

 

    svn log -v <path>  显示某一文件的修订日志,利用这个查询分支从什么时候开始

    svn merge -r <version1>:<version2> <url>  合并url所指的version范围内的改动到当前的工作拷贝

    svn merge -c <version> <url> 合并url所指的相应version内容相对于version-1内容的改动到当前的工作拷贝

    svn merge <url1@version> <url2@version>  合并url2相对于url1的改动到当前的工作拷贝

三、取消合并

    svn merge -c -<version> <url> 取消url所指的相应version内容到当前的工作拷贝

 

四、交换到另一分支

   svn switch <other_url> 把当前的工作拷贝链接到服务器的一个地址。如果本地已经check out了服务器代码,那么Switch 就会先COPY本地的,然后再update 改变的数据,不会所有都download 一遍服务器上的代码。

 

五、查看合并的信息

     svn mergeinfo <source_url> <dist_url  or workdir>  查询source_url合并到dist_url的版本信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值