本节接着上节介绍目录结构中SVN开发模式,同时对比一下两种开发模式的优缺点,欢迎大家一起来学习SVN开发,下面是具体介绍。
成都创新互联公司是一家集网站建设,金安企业网站建设,金安品牌网站建设,网站定制,金安网站建设报价,网络营销,网络优化,金安网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
Subversion有一个很标准的目录结构,是这样的。
比如项目是proj,svn地址为svn://proj/,那么标准的svn布局是
svn://proj/
|
+-trunk
+-branches
+-tags
这是一个标准的布局,trunk为主开发目录,branches为分支开发目录,tags为tag存档目录(不允许修改)。但是具体这几个目录应该如何使用,svn并没有明确的规范,更多的还是用户自己的习惯。
对于这几个SVN开发目录,一般的使用方法有两种。我更多的是从软件产品的角度出发(比如freebsd),因为互联网的开发模式是完全不一样的。
第二种方法,在每一个release的branch中进行各自的开发,trunk只做发布使用。
这种开发模式当中,trunk是不承担具体开发任务的,一个版本/阶段的开发任务在开始的时候,根据已经release的版本做新的开发分支,并且基于这个分支进行开发。还是举上面的例子,这里面的时序关系是。
1.0开发,做dev1.0的branch
此时的目录结构
svn://proj/
+trunk/(不担负开发任务)
+branches/
+dev_1.0(copyfromtrunk)
+tags/
1.0开发完成,mergedev1.0到trunk
此时的目录结构
svn://proj/
+trunk/(mergefrombranchdev_1.0)
+branches/
+dev_1.0(开发任务结束,freeze)
+tags/
根据trunk做1.0的tag
此时的目录结构
svn://proj/
+trunk/(mergefrombranchdev_1.0)
+branches/
+dev_1.0(开发任务结束,freeze)
+tags/
+tag_release_1.0(copyfromtrunk)
1.0开发,做dev2.0分支
此时的目录结构
svn://proj/
+trunk/
+branches/
+dev_1.0(开发任务结束,freeze)
+dev_2.0(进行2.0开发)
+tags/
+tag_release_1.0(copyfromtrunk)
1.0有bug,直接在dev1.0的分支上修复
此时的目录结构
svn://proj/
+trunk/
+branches/
+dev_1.0(1.0bugfix)
+dev_2.0(进行2.0开发)
+tags/
+tag_release_1.0(copyfromtrunk)
选择性的进行代码merge
这其实是一种分散式的开发,当各个部分相对独立一些(功能性的),可以开多个dev的分支进行SVN开发,这样各人/组都不会相互影响。比如dev_2.0_search和dev_2.0_cache等。但是这样merge起来就是一个很痛苦的事情。
这里要注意一下的,第六步进行选择性的merge,是可以当2.0开发结束后一起把dev_1.0(bugfix用)和dev_2.0(新版本开发用)merge回trunk。或者先把dev_1.0merge到dev_2.0,进行测试等之后再merge回trunk。
这两种方法各有利弊,***种方法是可以得到一个比较纯的dev_2.0的开发分支,而第二种方法则更加的保险,因为要测试嘛。
以上呢,就是我说的两种SVN开发模式了,具体哪种好,并没有定论。这里大致的说一下各自的优缺点
***种开发模式(trunk进行主要开发,集中式):
优点:管理简单
缺点:当开发的模块比较多,开发人数/小团队比较多的时候,很容易产生冲突而影响对方的开发。因为所有的改动都有可能触碰对方的改动
第二重开发模式(分支进行主要开发,分散式):
优点:各自开发独立,不容易相互影响。
缺点:管理复杂,merge的时候很麻烦。本节关于目录机构中两种SVN开发模式介绍完毕,请关注本节其他相关报道。
【编辑推荐】
分享标题:两种SVN开发模式实现目录结构布局
分享网址:http://www.stwzsj.com/qtweb/news12/17612.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联