首页/开发/CI/CD 与发布速查/主干开发(Trunk-Based Development)
流水线设计54 条

主干开发(Trunk-Based Development)

短生命周期分支、频繁合入主干,未完成功能用特性开关隐藏;直接减少合并冲突与集成风险。

CI/CD 与发布速查开发更新于 2026-10-13

主干开发是什么

短生命周期分支、频繁合入主干,未完成功能用特性开关隐藏,直接减少合并冲突与集成风险。分支寿命通常少于一天到数天;配套是小批量提交、特性开关、自动化测试与主干可用性保障。DORA 研究将主干开发列为交付绩效相关能力之一。注意:主干开发不等于直接在主干提交,分支加评审加快捷合入同样成立,核心是缩短分支寿命、让集成持续发生,而不是攒到最后一次性合并。

基本信息

分支寿命通常少于一天到数天
配套小批量提交、特性开关、自动化测试与主干可用性保障
研究依据DORA 将主干开发列为交付绩效相关能力之一
边界不等于直接在主干提交,仍可采用分支加评审
主干要求主干保持可发布,绿主干是团队纪律

典型使用场景

  • 高频发布团队:每次合入小批量变更,发布与回滚都更容易。
  • 多人同改一个模块:缩短分支寿命直接减少冲突面积。
  • 未完成功能:开在特性开关后面先合入,避免长命分支堆积。
  • 评审负载均衡:小变更评审快、质量更高,评审不再成为瓶颈。
  • 主干保障:主干绿需要自动化测试与快速回滚能力作支撑。
  • 渐进迁移:从长分支模式过渡,先缩短分支寿命与提高合入频率,不一次到位。

节奏参考

节奏参考
git switch main && git pull --ff-only
git switch -c feat/order-export
git commit -m "feat: 出口订单导出"
git push -u origin feat/order-export
# 尽快通过评审合入主干,而不是攒一周
主干开发不等于直接在主干提交:分支加评审加快捷合入同样成立。
特性开关是前提:没有开关还想短分支,未完成功能会直接暴露给用户。
主干常红时不要强推主干开发:先把主干绿当成纪律,否则频繁合入只会把不稳定扩散给所有人。

易错点

  • 长命分支少冲突是错觉:集成风险只是被推迟到合并当天集中爆发。
  • 主干常红仍强行频繁合入:需要先把主干绿当作团队纪律,再谈加速。
  • 分支寿命缩短但没有特性开关:未完成功能要么带病合并要么阻塞发布。
  • 把主干开发理解成禁止分支:评审与保护规则同样保留,区别只在分支寿命。
  • 小批量提交缺自动化验证:频繁合入把缺陷分散传播,测试是前提而不是配套。

数据来源与参考

  • DORA《Accelerate》
  • trunkbaseddevelopment.com
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌