[svn] linux命令——svn分支创建、合并

作者:zccst


[b]一、创建分支[/b]
1,创建一个分支
svn copy [color=red]svn://xx.com/repo/trunk[/color] [color=orange]svn://xx.com/repo/branches/TRY-something[/color] [color=brown]-m 'make branches TRY-something'[/color]

2,把工作目录转到分支
svn switch svn://xx.com/repo/branches/TRY-something

当然,也可以再转到主干svn switch svn://xx.com/repo/trunk


[b]二、合并一个分支到主干[/b]
1, 查找到分支版本
方法一:cd branch
svn log --stop-on-copy
最后一个r11340就是创建分支时的reversion

方法二:cd trunk
命令:svn -q --stop-on-copy 分支URL,这条命令会查询出自创建分支以后分支上的所有修改,最下面的那个版本号就是我们要找的版本号.
示例:svn log -q --stop-on-copy svn://192.168.1.177/tags/beta_2009_12_24

2, 合并到主干
命令:svn -r 分支版本号:HEAD 分支的URL
解释:HEAD为当前主干上的最新版本
示例:
cd trunk
svn merge -r 12:HEAD svn://192.168.1.177/tags/beta_2009_12_24


解决冲突:
使用[color=red]svn st | grep ^C [/color]查找合并时的冲突文件,手工解决冲突
使用[color=red]svn resolved filename[/color] 告知svn冲突已解决
使用svn commit -m "" 提示合并后的版本


svn: Aborting commit: '/path/resources/noc' remains in conflict
[color=red]$ svn revert resources/noc[/color]
Reverted 'resources/noc'


[b]三、两个分支合并[/b]

两个分支合并可以拆分为一下两步:

第一步:

197从旧主干引出,
186打完tag,表示是新主干

合并最新代码的意思是:将新主干与旧主干比对,并添加到197中。这样197既有自己的新增的代码,也同时有最新线上的代码。
cd 197_Branch
svn merge https://xxx.com/tags/project/project_Old_BL https://xxx.com/tags/project/project_New_BL
svn ci -m 'merge 186 trunk'


第二步:

但是后来,其他人又向186提了代码,所以还需要将186分支(即打了tag后的186,打了tag前的186已是主干)合并至197中。
合并办法:找出186分支,比对与新主干之间的差别,并添加到197中。这样197就有最新的全部代码了。
cd 197_Branch
svn merge https://xxx.com/tags/project/project_New_BL https:/xxx.com/project/branches/project/186_Branch
svn ci -m 'merge 186 branch'


[b]四、发布[/b]

给当前主干打个标签,并且这个标签不再改动了,但是实际上标签和分支是一个意思,你可以在标签上继续做改动,但这不推荐。
svn copy svn://xx.com/repo/trunk svn://xx.com/repo/tags/RB-1.0


如果您觉得本文的内容对您的学习有所帮助,您可以微信:
[img]http://dl2.iteye.com/upload/attachment/0109/0668/fb266dfa-95ca-3d09-b41e-5f04a19ba9a1.png[/img]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值