基于主干的开发 每天至少向主干Trunk提交一次。Trunk始终在可发布状态。将新功能代码(或者未完成的代码)隐藏在功能开关后面。使用branch by abstraction 进行重构。可以开分支branch,但是一般不超过2天。 branch by abstraction 功能开关的优劣势 优点: 新功能和代码发布分离,减轻发布风险迭代速度快,快速创新实验可定制高级A/B测试、相比复杂发布系统,投入成本相对低没有分支开发的合并冲突问题。 缺点 代码侵入,技术债,需要定期清理需要开关配置中心配合需要devops文化和流程配合。