代码分支结构
代码分支需要遵循的结构规范
| 分支类型 | 命名规范 | 创建自 | 合并到 | 禁止合并到 | commit前缀 | 目的 | 限制 | 测试阶段 | CI是否覆盖 |
|---|---|---|---|---|---|---|---|---|---|
| master | master | 无 | 无 | 其他所有 | 禁止commit |
| 仅能何如release和hotfix分支 | 验收测试 | 是 |
| develop | dev |
| release | master |
| dev分支为正式版本产生之前的开发分支 | 初始开发阶段完成并产生release版本后需要删除dev分支 | 单元测试 | 按需 |
| feature | feature_yyyymmdd_featureName |
| dev |
|
| 开发版本的单个模块开发分支 | 按需求将模块划分,尽量每个feature分支功能独立 | 单元测试 | 按需 |
| release |
| master | master | 无 | 禁止commit |
|
| 验收测试 | 是 |
| hotfix | hotfix_bugid_yyyymmdd |
|
| 无 | 禁止commit |
|
| 验收测试 | 是 |
分支管理规范示意图
简易分支管理示意图
以上规范适用于大型项目且人员较多的情况,为了避免分支命名、合并、代码拉取等不规范操作导致代码错乱的问题,所以代码分支规范设定得较为复杂。若项目处于初期,并且开发人员较少,也可以采用下图中的方式来管理: