第 11 章 主干开发(Trunk-Based Development)

与工程速度加速密切相关的一个能力是基于主干的开发(也称为TBD)。高效能的团队通常在任何时间内只有不到三个活动分支,并且这些分支在被合并到主干之前的生命周期较短(少于一天)(Forsgren N.、Humble J. 和 Kim G.,2018年,第98页)。不幸的是,TBD并不是一种Git工作流,而是一种自80年代以来就使用的分支模型。它定义得不够明确,尤其是在与GitHub结合使用时,存在很多解读空间。此外,我个人认为,单纯采用基于主干的工作流并不会显著提高性能。只有那些已经陷入合并地狱的拥有庞大团队和高度复杂工作流的团队才会看到这种变化的巨大影响。对于大多数团队而言,更多的是将特性标志、持续集成/持续部署(CI/CD)等不同能力与基于主干的工作流结合,才能真正带来显著的提升。

在本章中,我将解释基于主干的工作流的优势,并讨论它与其他分支工作流的区别,同时我还会向你介绍我认为最适合加速软件交付的 Git 工作流。

本章包括以下内容:

  • 基于主干的开发

  • 为什么你应该避免复杂的分支策略

  • 其他 Git 工作流

  • 通过 MyFlow 加速

  • 案例研究