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

推荐订阅源

有赞技术团队
有赞技术团队
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
P
Palo Alto Networks Blog
C
Cisco Blogs
The Hacker News
The Hacker News
T
Threatpost
S
Schneier on Security
K
Kaspersky official blog
Spread Privacy
Spread Privacy
博客园_首页
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
NISL@THU
NISL@THU
量子位
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Google DeepMind News
Google DeepMind News
Security Latest
Security Latest
博客园 - 司徒正美
云风的 BLOG
云风的 BLOG
博客园 - 叶小钗
H
Hackread – Cybersecurity News, Data Breaches, AI and More
N
News and Events Feed by Topic
爱范儿
爱范儿
P
Proofpoint News Feed
C
CERT Recently Published Vulnerability Notes
Project Zero
Project Zero
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Cisco Talos Blog
Cisco Talos Blog
GbyAI
GbyAI
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Apple Machine Learning Research
Apple Machine Learning Research
T
Tenable Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
V
Vulnerabilities – Threatpost
Forbes - Security
Forbes - Security
博客园 - 三生石上(FineUI控件)
C
Cyber Attacks, Cyber Crime and Cyber Security
N
News and Events Feed by Topic
V
V2EX
Webroot Blog
Webroot Blog
The Register - Security
The Register - Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
阮一峰的网络日志
阮一峰的网络日志
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Blog — PlanetScale
Blog — PlanetScale
M
MIT News - Artificial intelligence
Scott Helme
Scott Helme
Simon Willison's Weblog
Simon Willison's Weblog
L
LangChain Blog
W
WeLiveSecurity
Cloudbric
Cloudbric

博客园 - 红马天下

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

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