软件开发流程与实践:从代码管理到交付优化
1. 基于主干的开发
在软件开发中,GitHub Flow 和 GitFlow 都采用分支策略和合并模式将独立的开发活动整合在一起。Git 的分支操作非常便捷,但在合并所有分支时,仍可能出现需要人工干预的冲突。频繁分支可能导致团队陷入“合并地狱”,每个人都试图一次性将自己的更改合并进来,这使得在维护可运行代码库的同时理清所有更改变得复杂且令人沮丧。
基于主干的开发(Trunk-Based Development)则采用了不同的方法,它拒绝使用分支。在这种开发模式下,开发者在一个被称为“主干”的主分支上进行协作。开发者对代码进行修改,并直接将更改应用到主干上。理想情况下,在整个开发过程中,提交应该是小而频繁的。这里的黄金法则是永远不要破坏构建,并且始终做好发布准备。开发者必须始终确保这一点。开发过程可以通过持续集成(CI)流程实现自动化,但关键是团队内部要建立信任。
在大型企业中,持续向主分支合并代码可能会带来一些问题。例如,如何进行代码的同行评审呢?对于有许多工程师和团队参与的大规模应用开发,短期存在的特性分支可能会很有帮助。这些分支在评审过程中提供决策记录,但关键是要“短期”。短期特性分支最多存活一两天(绝对不能超过一个冲刺周期),并且在代码合并后应立即删除,以防止它们变成特性发布分支。
2. 选择合适的 Git 工作流
各种 Git 工作流都经过了多年的实践检验。有些团队选择一种作为标准,而另一些团队则根据自身情况采用一种或多种。GitFlow 的原作者最近修正了他的观点,认为 GitFlow 不太适合“持续交付的应用程序”,如 Web 应用。分支会在生产代码和正在进行的工作之间造成隔阂,并
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



