主干开发
基于主干的开发是一种源代码控制分支模型,在这种模型中,开发人员将小而频繁的更新合并到一个单一的分支中(通常称为主干,但在Git中,这通常被称为主分支),并且避免创建其他长期存在的开发分支(见:https://trunkbaseddevelopment.com)。
基本的理念是,主分支始终保持干净状态,以便任何开发人员在任何时候都可以基于主分支创建一个新的分支,并且能够成功构建。为了保持主分支的干净状态,开发人员必须采取多种措施,确保只有不会破坏其他功能的代码才会被合并回主分支,具体措施如下:
-
从主分支获取最新的更改
-
执行一次干净的测试
-
运行所有的测试
-
与团队保持高度的凝聚力(配对编程或代码审查)
如你所见,这要求主分支受到保护,并且需要使用拉取请求(PR)与CI构建,PR触发器会构建并测试你的更改。然而,一些团队更喜欢手动执行这些步骤,直接推送到主分支而不进行分支保护。在小型、高度凝聚力的、地理上集中的团队中,实践配对编程时,这种方式可能非常有效,但需要极高的纪律性。在复杂的环境或分布式的、异步工作的团队中,我总是推荐使用分支保护和拉取请求(PR)。