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

推荐订阅源

B
Blog
C
Check Point Blog
The GitHub Blog
The GitHub Blog
Y
Y Combinator Blog
SecWiki News
SecWiki News
有赞技术团队
有赞技术团队
Latest news
Latest news
D
DataBreaches.Net
Blog — PlanetScale
Blog — PlanetScale
Project Zero
Project Zero
H
Help Net Security
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
G
GRAHAM CLULEY
Engineering at Meta
Engineering at Meta
T
Threat Research - Cisco Blogs
腾讯CDC
P
Proofpoint News Feed
L
LINUX DO - 热门话题
C
Cisco Blogs
P
Palo Alto Networks Blog
Vercel News
Vercel News
P
Privacy International News Feed
爱范儿
爱范儿
Scott Helme
Scott Helme
L
Lohrmann on Cybersecurity
MyScale Blog
MyScale Blog
K
Kaspersky official blog
B
Blog RSS Feed
美团技术团队
Microsoft Security Blog
Microsoft Security Blog
O
OpenAI News
博客园 - 叶小钗
量子位
T
Tenable Blog
C
Cybersecurity and Infrastructure Security Agency CISA
J
Java Code Geeks
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Hacker News: Ask HN
Hacker News: Ask HN
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
L
LINUX DO - 最新话题
F
Fortinet All Blogs
N
News | PayPal Newsroom
The Hacker News
The Hacker News
C
CXSECURITY Database RSS Feed - CXSecurity.com
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
博客园 - 【当耐特】
N
News and Events Feed by Topic
V
Visual Studio Blog
Google DeepMind News
Google DeepMind News
Last Week in AI
Last Week in AI

博客园 - 红马天下

【原创】改造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)直到不得不创建分支的时候才创建分支。过早地创建分支或无谓地创建分支,都会带来麻烦。
可以看出,以上几个原则都围绕着这样的主题:减少分支可能带来的冲突,降低合并的开销。

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