- 1、本文档共2页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
SVN分支和合并
尽管svn没有作强制要求,但是一般svn版本库目录建议创建trunk、branches和tags三个目录。在实际操作时,trunk主干版本要时刻保持干净,即随时可以基于这个版本进行修改并将应用部署上线。branches是分支目录,存放并行开发的项目代码,因为分支是主干的廉价拷贝(相当只是提交了一次主干版本,增加了一个版本号,并没有取出版本库作镜像拷贝),所以你可以放心建立很多分支版本。不过Subversion不支持跨版本库的拷贝,当使用svncopy时你只能在同一个版本库内操作。tags目录存放trunk某个的快照,比如说release-1.0即trunk处于1.0版本时的快照。
使用svn来作团队的代码管理,那么分支和合并将是非常常用的操作。下面是一个简单的示例。
创建分支。这里假设你要负责一个叫theme的项目,分支号1.7.2。
#这里的localhost是svn服务器地址
svn copy -m 1.7.2 - theme svn://localhost/www/trunksvn://localhost/www/branches/branch1.7.2-theme
svncosvn://localhost/www/branches/branch1.7.2-theme
从trunk中merge到分支。忙了一个星期终于开发完了,但是开发期间trunk版本有过改动,部署上线前你需要合并trunk的代码。
#branch1.7.2-theme是分支目录,注意不可以进到分支子目录
cdbranch1.7.2-theme
#前面的12972是开分支之前trunk的版本号,后面的12991是merge时trunk的版本
号
svnmerge-r12972:12991svn://localhost/www/trunk
如果有冲突选择p(postpone),merge完了之后使用svnst|grep^C查看冲突文件,然后比对修改冲突文件。解决冲突后再checkin,信息写上执行的merge操作。
1.svnci-msvnmerge-r12972:12991svn://localhost/www/trunk
从分支merge到trunk。上线测试完毕,你很幸运,一切都如预期正常,这时就要将分支回归trunk,将trunk更新到最新。
#先从trunkcheckout一份新鲜的代码,然后cd到该版本目录下
svncosvn://localhost/www/trunk
cdtrunk
#12973是分支开始的版本号,13006是分支结束的版本号
svnmerge-r12973:13006svn://localhost/www/branches/branch1.7.2-theme
如步骤2一样解决冲突,解决冲突后再checkin,信息写上执行的merge操作。
1.svnci-msvnmerge-r12973:13006svn://localhost/www/branches/branch1.7.2-theme
文档评论(0)