大型项目中需求的上线存在很大的不确定性,而且往往存在多版本、多团队、多开发并行的情况。尤其是大型企业对上线分支中编号的管理十分严苛,严禁夹带上线。这时对于开发而言,没有一个好的分支管理策略就是一个灾难。
基础
)10月份有四个需求同时在开发,分别是商机、客户、目标、业绩。其中商机需求由甲(张三、李四)、乙(王五、赵六)两个团队配合开发。其中商机需求在 20231004
、20231011
、20231018
、20231025
四个版本都有改动,甚至互相冲突。
版本多
: 20231004
、20231011
、20231018
、20231025
关联方多
:任意一侧都可能导致无法投产不同版本改同一需求
:可能冲突准备最少三套环境用于开发测试使用
DEV
:开发分支
,所有大版本排期以内的需求的分支均可以合入SIT
:测试分支
,所有大版本排期以内的需求的分支均可以合入UAT
:预上线分支
,只有正常提测且按期上线
的需求相关分支可以合入严格来说,上线分支一定是测试过的分支,故而生产投产分支即为 UAT 分支。但实际中,可以存在上线前几天突然通知延期的情况。当出现这种情况时,需要基于 UAT 分支拉取 PRDO 分支,将不上线的需求通过 revert commit 的形式回退代码,再通知测试重新验证该需求。