1 / 5
文档名称:

分支合并样例及注 意问题.doc

格式:doc   页数:5
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

分支合并样例及注 意问题.doc

上传人:企业资源 2012/1/4 文件大小:0 KB

下载得到文件列表

分支合并样例及注 意问题.doc

文档介绍

文档介绍:一般svn版本库目录建议创建trunk、branches和tags三个目录。在实际操作时,trunk主干版本要时刻保持干净,即随时可以基于这个版本进行修改并将应用部署上线。branches是分支目录,存放并行开发的项目代码,因为分支是主干的廉价拷贝(相当只是提交了一次主干版本,增加了一个版本号, 并没有取出版本库作镜像拷贝),所以你可以放心建立很多分支版本。不过 Subversion不支持跨版本库的拷贝,当使用svn copy时你只能在同一个版本库内操作。tags目录存放trunk某个的快照,比如说release-。使用svn来作团队的代码管理,那么分支和合并将是非常常用的操作。
需求一: (分支的使用)
有一个客户想对产品做定制,但是我们并不想修改原有的svn中trunk的代码。在需要修改的代码那个节点创建分支即可。SVN 的副本是通过"cheap copies "来实现的,建立一个副本就类似 Unix 中创建一个硬链接(hard link),空间和时间的消耗都是固定并且很小的,因此不必太过担心副本太多而导致性能问题。
(这样做的好处:如果像不用SVN管理前,都是将需要修改的代码拷贝一份再修改,这样会占用硬盘空间。最糟糕的是如果这时主线修改了一些bug,那在客户定制的代码也会包含有这个bug,那么只能将修改的代码复制到客户定制的代码。这样如果两边的代码修改的部分不一样,就会覆盖原先的代码。不能自动合并。如果用SVN,创建分支,相当于一个映射,不占用空间。并且如果主线有更新,只要一步合并就可以了。如果有冲突,还可以比较并解决冲突。
方法:
用svn建立一个新的branches,从这个branche做为一个新的起点来开发
需求二: (标签的使用)
产品开发已经基本完成,并且通过很严格的测试,这时候我们就想发布给客户使用,, 这个和branches有什么区别,好像啥区别也没有?
是的,branches和tags是一样的,都是目录,只是我们不会对这个release-,不再提交了
需求三: (合并的使用)
有一天,突然在trunk下的core中发现一个致命的bug,那么所有的branches一定也一样了,该怎么办?
在本地将最新的主干取出
     svn co http://svn./repos/example/trunk example
(2)、到当前的example目录下合并分支,4889,4906分别表示分支的最初版本号和最终版本号
svn merge -r 4889:4906 http://svn./repos/example/branches/branches_test
4、典型的svn目录结构
project/branches/
project/tags/
project/trunk/
5、项目代码测试发布前别忘打上tag,。
6、实用的SVN命令
* svn copy 创建分支或者标签
  svn copy http://svn./repos/calc/trunk http://svn./repos/calc/tags/release- -m "Tagging the r