主分支 master:
开发分支:feature1212
测试分支:dev
案例:12 月 12 号有一个迭代(有多个功能)要上线,有两位开发同学参与( A,B )同时开发。
目前有两种分支管理模式:
方案一:
- 从 master 拉 feature1212 分支
- 开发阶段:开发 A , 开发 B 共用 feature1212 开发
- 测试阶段:feature1212 merge 到 dev , dev 进行测试 // 当 dev 分支有变更,会通过自动部署
- 部署线上阶段:feature1212 merge 到 master
方案二:
- 从 master 拉 feature1212 分支
- 开发阶段:开发 A , 开发 B 再分别从 feature1212 拉自己的分支,比如:featue1212A, feature1212B // 问题:1. 共用代码不好复用
- 测试阶段:从自己的开发分支(featue1212A, feature1212B) merge 到 dev // 问题:1. 当 dev 分支有变更,会通过自动部署,导致多次构建 2. 这里可能有冲突,需要解决
- 合并冲突阶段:feature1212A ,feature1212B 分别 merge 到 feature1212 // 问题:1. 这里还要再解决一次冲突
- 部署线上阶段:feature1212 merge 到 master
上面两个方案,大家觉得哪个更好?
所以,我的方案是:
开发过程中,如果完成部分功能,则合并回 f1212