- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
关于代码管理的分支和发布策略,目前我知道的主要有两种模式。 一种是主干作为新功能开发主线,分支用作发布。 另一种是分支用作新功能开发,主干作为稳定版的发布。 前一种分支管理策略被广泛的应用于开源项目。比如freebsd的发布就是一个典型的例子。freebsd的主干永远是current,也就是包括所 有最新特性的不稳定版本。然后随着新特性的逐步稳定,达到一个发布的里程碑以后,从主干分出来一个stable分支。freebsd是每个大版本一个分 支。也就是说4.x,5.x,6,x各一个分支。每个发布分支上只有bug修改和现有功能的完善,而不会再增加新特性。新特性会继续在主干上开发。当稳定 分支上发生的修改积累到一定程度以后,就会有一次发布。发布的时候会在稳定分支上再分出来一个release分支。以6.x为例,就会有 6.0,6.1,6.2…等发布分支。 这种发布方法非常适用于产品线的发布管理。产品是要卖的,以前卖给客户的版本仍需要继续维护,而为了以后的市场,新功能也不断地在增加。这种管理方法 对已发布产品的维护工作和下一代产品的开发工作进行了隔离。对于已经发布的产品,只有维护的补丁发布。而新发行的产品不仅包括了所有的bug修改,还包括 了新功能。 这种方法也不是没有缺点的。首先,必须对主干上的新功能增加进行控制。只能增加下一个发布里面计划集成进去的新特性。而且,已经在主干上集成的新特性 中的任何一个,如果达不到里程碑的要求,稳定分支就不能创建,这很有可能影响下一个发布的计划。开源项目可能这方面的压力小一些,但是商业产品开发如果碰 到这种情况就危险了。还有一个缺点就是bug修改必须在各个分支之间合并。从分支和合并的一些实践经验上看,各个长期存在的分支之间必须要周期性的进行合 并,否则很容易引发合并冲突。可是各个stable分支以及release分支之间恰好是不能进行合并而且还要长期存在的。因此,采用这种分支策略可能碰 到的最大问题就是某个分支上的bug修改内容往其它分支merge的时候出现的冲突。而且一旦发现一个bug,调查这个bug影响哪些分支的工作会随着维 护的发布分支的数量而增加。 在非产品开发的外包软件项目里面,这种发布方法的好处体现不出来,而缺点仍然存在。外包项目的特点是客户永远需要“最新”的代码,因此对已经发布的某 个分支进行维护的情况很少出现(在测试的时候会出现)。而且发布的方法和产品的发布也不一样。产品的发布,只要把发布分支上的代码编译成安装盘就可以了, 而外包的发布往往是把上一次发布和这一次发布之间发生变化的代码送给客户。如果每次发布都是一个分支的话,将会出现两个分支上的比较。强大的版本控制工具 当然支持这种比较,但是很多版本工具不支持分支之间的比较,而只支持分支内的不同版本之间的比较。因此为了避免发布方法受工具的限制,就要避免出现分支间 比较的情况。针对外包开发的特殊情况,只有采用另外一种分支管理策略。 与第一种分支策略正好相反,主干上永远是稳定版本,可以随时发布。bug的修改和新功能的增加,全部在分支上进行。而且每个bug和新功能都有不同的开发分支,完全分离。而对主干上的每一次发布都做一个标签而不是分支。分支上的开发和测试完毕以后才合并到主干。 这种发布方法的好处是每次发布的内容调整起来比较容易。如果某个新功能或者bug在下一次发布之前无法完成,就不可能合并到主干,也就不会影响其他变 更的发布。另外,每个分支的生命期比较短,唯一长期存在的就是主干,这样每次合并的风险很小。每次发布之前,只要比较主干上的最新版本和上一次发布的版本 就能够知道这次发布的文件范围了。 这种发布模式也有缺点。如果某个开发分支因为功能比较复杂,或者应发布计划的要求而长期没有合并到主干上,很可能在最后合并的时候出现冲突。因此必须 时刻注意分支离开主干的时间。如果有的分支确实因为特殊的需要必须长期存在,那就必须定期把主干的更新往这个分支上合并。为了减少这种合并发生的次数,并 且限定合并的范围,要为每次发布预先建立一个发布分支,然后所有的开发分支根据自己的发布计划向各个发布分支合并。当下一次发布的分支上已经集成了所有的 变更并且测试完毕以后,把这个发布分支内容合并到主干,发布主干,然后锁定或者删除这个分支。然后把主干上的所有更新合并到后面几个发布分支里面去。外包 项目的发布周期一般都比较短,往往客户验收测试的周期就是发布周期。所以这种方法就够用了。如果发布周期很长,各个发布分支之间还要定期的从前向后合并。 这种发布方法还有一个缺点就是测试。不像第一种分支策略,发布的分支就是测试的分支。这种发布模式的测试分支往往是各个发布分支,在正式发布之前 才把下一个发布分支上的更新合并到主干,这就引入了合并出错的风
您可能关注的文档
- 今年的成长的力量_销售技巧.doc
- 今年春节其间妈妈说去海南3亚去旅游.doc
- 今天我们就来讲讲如何介绍自己的个人及家庭情况.doc
- 今年的第1章将合适的人请上车.doc
- 今年的最新文章假如没有灰尘综合资料之1.doc
- 今生今世证据ppt.doc
- 介绍丝印检验标准两种方法.docx
- 从1则案例看工商执法如何抽样取证.docx
- 介绍几种教育随笔写作方式.doc
- 从0学电脑最实用最易学电脑教程.doc
- 福莱特玻璃集团股份有限公司海外监管公告 - 福莱特玻璃集团股份有限公司2024年度环境、社会及管治报告.pdf
- 广哈通信:2024年度环境、社会及治理(ESG)报告.pdf
- 招商证券股份有限公司招商证券2024年度环境、社会及管治报告.pdf
- 宏信建设发展有限公司2024 可持续发展暨环境、社会及管治(ESG)报告.pdf
- 品创控股有限公司环境、社会及管治报告 2024.pdf
- 中信建投证券股份有限公司2024可持续发展暨环境、社会及管治报告.pdf
- 洛阳栾川钼业集团股份有限公司环境、社会及管治报告.pdf
- 361度国际有限公司二零二四年环境、社会及管治报告.pdf
- 中国神华能源股份有限公司2024年度环境、社会及管治报告.pdf
- 广西能源:2024年环境、社会及治理(ESG)报告.pdf
文档评论(0)