[svn] linux命令——svn分支创建、合并
作者:zccst
一、创建分支
1,创建一个分支
svncopysvn://xx.com/repo/trunksvn://xx.com/repo/branches/TRY-something-m'makebranchesTRY-something'
2,把工作目录转到分支
svnswitchsvn://xx.com/repo/branches/TRY-something
当然,也可以再转到主干svnswitchsvn://xx.com/repo/trunk
二、合并一个分支到主干
1,查找到分支版本
方法一:cdbranch
svnlog--stop-on-copy
最后一个r11340就是创建分支时的reversion
方法二:cdtrunk
命令:svn-q--stop-on-copy分支URL,这条命令会查询出自创建分支以后分支上的所有修改,最下面的那个版本号就是我们要找的版本号.
示例:svnlog-q--stop-on-copysvn://192.168.1.177/tags/beta_2009_12_24
2,合并到主干
命令:svn-r分支版本号:HEAD分支的URL
解释:HEAD为当前主干上的最新版本
示例:
cdtrunk
svnmerge-r12:HEADsvn://192.168.1.177/tags/beta_2009_12_24
解决冲突:
使用svnst|grep^C查找合并时的冲突文件,手工解决冲突
使用svnresolvedfilename告知svn冲突已解决
使用svncommit-m""提示合并后的版本
svn:Abortingcommit:'/path/resources/noc'remainsinconflict
$svnrevertresources/noc
Reverted'resources/noc'
三、两个分支合并
两个分支合并可以拆分为一下两步:
第一步:
197从旧主干引出,
186打完tag,表示是新主干
合并最新代码的意思是:将新主干与旧主干比对,并添加到197中。这样197既有自己的新增的代码,也同时有最新线上的代码。
cd197_Branch
svnmergehttps://xxx.com/tags/project/project_Old_BLhttps://xxx.com/tags/project/project_New_BL
svnci-m'merge186trunk'
第二步:
但是后来,其他人又向186提了代码,所以还需要将186分支(即打了tag后的186,打了tag前的186已是主干)合并至197中。
合并办法:找出186分支,比对与新主干之间的差别,并添加到197中。这样197就有最新的全部代码了。
cd197_Branch
svnmergehttps://xxx.com/tags/project/project_New_BLhttps:/xxx.com/project/branches/project/186_Branch
svnci-m'merge186branch'
四、发布
给当前主干打个标签,并且这个标签不再改动了,但是实际上标签和分支是一个意思,你可以在标签上继续做改动,但这不推荐。
svncopysvn://xx.com/repo/trunksvn://xx.com/repo/tags/RB-1.0
如果您觉得本文的内容对您的学习有所帮助,您可以微信:
相关推荐
pub_svnserve.conf的 pub_authz.conf的配置文件有非法字符的原因引起,需要查找pub_authz.conf提的非法内容比如多余的空格删除或直接将pub_authz.conf