GIT代码分支管理规范

1,325 阅读2分钟

代码分支结构

代码分支需要遵循的结构规范

分支类型命名规范创建自合并到禁止合并到commit前缀目的限制测试阶段CI是否覆盖
mastermaster其他所有禁止commit
  • 代表最新的对外发布的版本集合
  • 已发布的稳定运行版本
仅能何如release和hotfix分支验收测试
developdev
  • master
  • release
releasemaster
  • 开发任务单ID
  • Bug单ID
dev分支为正式版本产生之前的开发分支初始开发阶段完成并产生release版本后需要删除dev分支单元测试按需
featurefeature_yyyymmdd_featureName
  • dev
  • release
dev
  • master
  • release
  • 开发任务单ID
  • Bug单ID
开发版本的单个模块开发分支按需求将模块划分,尽量每个feature分支功能独立单元测试按需
release
  • 经常更新的项目可用release_yyyymmdd_版本号
  • 迭代周期长的项目可用release—版本号
mastermaster禁止commit
  • 在dev分支开发完成之后创建
  • 指定项目的版本发布
  • 指定项目的验收测试分支
  • 根据最新的master创建
  • 仅能合入dev分支
  • bugfix由feature或hotfix合并完成
  • 必须有tag
  • 原则上发布后要及时合并回master分支(部分特定项目分支除外)
验收测试
hotfixhotfix_bugid_yyyymmdd
  • master
  • release
  • master
  • release
禁止commit
  • hotfix属于可上线的分支
  • 原则上从master创建,特定情况下可从release上创建
  • 根据最新的master/release创建
  • 验收通过后需要合并回master或release分支
验收测试

分支管理规范示意图

简易分支管理示意图

以上规范适用于大型项目且人员较多的情况,为了避免分支命名、合并、代码拉取等不规范操作导致代码错乱的问题,所以代码分支规范设定得较为复杂。若项目处于初期,并且开发人员较少,也可以采用下图中的方式来管理: