主干开发(Trunk Based Development)

Git 高级

Amanda Crawford-Adamo

Software and Data Engineer

什么是主干开发?

  • 源码管理分支与 CI/CD 模型
  • 开发者不再推送到独立发布分支
  • 变更来自短生命周期分支并合入 main
  • 小而频繁的更新

提交到主分支的图示,并显示分支为发布主干

Git 高级

主干开发的核心原则

  1. 频繁提交到 main
  2. 短生命周期特性分支(< 1 天)
  3. 持续集成
  4. 用特性开关处理未完成工作

主干开发流程示意。短期分支在合入 main 时包含特性开关切换。

Git 高级

TBD 中的特性开关

  • 管理未完成的特性
  • 不影响用户
  • 渐进式发布

特性开关示例代码

  if feature_flag_enabled('new_feature'):
      # New feature code
  else:
      # Old feature code
Git 高级

TBD 中的持续集成

  • 提交到 main 触发自动构建和测试
  • 降低维护成本,加快发布
  • 产品始终可靠稳定
  • 确保代码安全与行业合规
  • 保障代码质量,降低缺陷风险
Git 高级

TBD 的优势与挑战

优势:

  • 减少合并冲突
  • 加快发布节奏
  • 提升代码质量
  • 改善协作

挑战:

  • 需要团队自律
  • 需要健全测试
  • 存在入门曲线
  • 管理未完成特性
Git 高级

最佳实践

  1. 频繁提交小改动
  2. 自动化测试与部署
  3. 用特性开关管理未完工作
  4. 定期代码评审
  5. 部署后监控
Git 高级

Passons à la pratique !

Git 高级

Preparing Video For Download...