惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

IT之家
IT之家
Y
Y Combinator Blog
月光博客
月光博客
Blog — PlanetScale
Blog — PlanetScale
GbyAI
GbyAI
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - 三生石上(FineUI控件)
S
SegmentFault 最新的问题
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
美团技术团队
雷峰网
雷峰网
酷 壳 – CoolShell
酷 壳 – CoolShell
Last Week in AI
Last Week in AI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
有赞技术团队
有赞技术团队
博客园 - 司徒正美
V
Visual Studio Blog
小众软件
小众软件
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
T
Tailwind CSS Blog
Apple Machine Learning Research
Apple Machine Learning Research
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
A
About on SuperTechFans
The Cloudflare Blog

博客园 - 红马天下

【原创】改造rails使支持gb2312编码 【转载】Rails使用gb2312/gbk与utf8共存的解决方案 【原创】MBCS,Unicode,UTF8以及一个用C++读写UTF8文件的工具类 【原创】Asp.Net从Windows Server 2003 32bit迁移到Windows Server 2008 64bit的找不到组件 这辈子一定要做一件有意义的事 【转载】软件缺陷管理基本概念 【转载】我的Lean & Agile(精简和敏捷)经历(这才是最佳实践) 【转载】微软的管理模式真的值得吹嘘么? 【转载】负载均衡技术全攻略 【转载】MySpace的六次重构 【转载】转一篇自己的书评,关于《重构》 【转载】避免软件重建失败的三种方案 【转载】ASP.NET AJAX进度条 【转载】快速、可伸缩和流式的AJAX代理--跨域持续内容分发 给CHtmlEditView添加自定义拖拽功能IDropTargetpdwEffectDROPEFFECT_COPY ole拖放的若干tips 深入分析eXtreme Toolkit Toolbar的Command消息 【转载】让文档模板支持多文件扩展名 在eXtreme Toolkit Pro 11.2.1中使用中文
【转载】软件配置管理中的分支
红马天下 · 2008-05-29 · via 博客园 - 红马天下

作者:林文波
原载:http://lanbolin.spaces.live.com/blog/cns!977E13F16FA9E2B5!768.entry

由于惧怕分支可能带来的混乱,有些组织几乎从来不创建分支,甚至会为了避免分支而重新开始一个源码项目。适当地使用分支实际上可以大大地提高开发的效率。

什么时候使用分支?创建分支的一些典型场景或原因:
(1)为了隔离已发布版本的维护与主线的开发,可以创建版本分支,在该分支上进行已发布版本的Bug排除,而日常开发工作则在主线上进行。
(2)在版本发布前所进行的各种测试过程中,有些组织会要求进行代码冻结,以避免可能造成的混乱。可以通过创建集成分支而无需冻结代码,开发人员可以不受影响地在主线上进行新特性的开发,测试Bug的排除则在该分支上进行。
(3)进行一些影响比较大的新特性开发或进行较大范围的代码重构时,可以创建任务分支,以减少对主线开发的影响(因为我们要尽可能地保证主线的稳定性)。

成功使用分支需要把握的几个原则:
(1)尽可能频繁地合并。当分支处于一个稳定点的时候,就可以考虑合并了。频繁的合并可以有效地较少冲突。
(2)确保并行的活动分支数尽量的少。并行的活动分支数越多,分支合并到主线的冲突就会越多。
(3)避免必须合并的长期分支。分支时间越长,冲突也就越多,将大大增加合并的开销。
(4)减少分支的复杂度,尽可能地避免在分支上再建分支。
(5)直到不得不创建分支的时候才创建分支。过早地创建分支或无谓地创建分支,都会带来麻烦。
可以看出,以上几个原则都围绕着这样的主题:减少分支可能带来的冲突,降低合并的开销。

参考书籍:《软件配置管理模式