首页/管理/IT 管理与治理速查/主干开发 Trunk-Based Development
治理与研发流程57 条

主干开发 Trunk-Based Development

主干开发要求开发者频繁把改动合并进主干,分支生命期尽量短(理想情况下一天以内);配合特性开关与自动化测试,减少合并冲突与集成风险。

IT 管理与治理速查管理更新于 2026-10-13

主干开发是什么

主干开发要求开发者频繁把改动合并进主干,分支生命期尽量短,理想情况一天以内;配合特性开关与自动化测试,减少合并冲突与集成风险。它解决的是长期分支带来的问题:分支越久,合并越难,集成风险越集中到发布前夕。主干开发并不取消评审,而是要求小批量、快评审、随时可发布,把主干健康度变成团队共同责任。

基本信息

做法短命分支或直接在主干小步提交
配套特性开关、自动化测试、代码评审
好处集成频繁、冲突小、可随时发布
分支寿命目标一天以内,最长不超过数天
前提条件主干有自动化门禁保护
常见阻力长期需求与多版本并行维护

典型使用场景

  • 产品迭代团队:多人并行改动同一模块时减少冲突
  • 持续交付落地:为随时可发布提供代码管理基础
  • 大型重构:用特性开关分步上线,避免长分支
  • 新成员融入:小改动频繁提交,快速建立反馈循环
  • 多版本并行:用发布分支承载版本冻结,主干继续前进
  • 度量改善:缩短前置时间,尤其是评审与集成等待

工作流示例

工作流示例
从主干拉出分支 → 小改动 + 评审 → 当天合回主干
未完成功能用开关隐藏
主干始终保持可发布状态
冲突处理:先同步主干再合并,避免积压

分支策略对照

做法分支寿命适用场景
直接提交主干无分支小改动或评审流程成熟的团队
短命分支 + PR一天以内常规功能开发
发布分支仅版本冻结期使用多版本并行维护
主干开发的隐含前提是自动化测试可信:没有测试护栏就强推主干,缺陷会直接进入发布路径。
推送主干前的本地验证要快:单元测试与静态检查能在几分钟内跑完,开发者才会愿意频繁提交。

易错点

  • 主干长期不可发布:名为主干开发,实为集成地狱
  • 没有自动化测试就强推主干:缺陷直接进入发布路径
  • 特性开关只加不清:残留的死开关让分支逻辑越来越难维护
  • 分支寿命无约束:名义上小分支,实际存在数周,回到老问题

数据来源与参考

  • 《Accelerate》Forsgren, Humble, Kim
  • 《Continuous Delivery》Humble & Farley
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌