分支
- master:用于存放对外发布的版本,最稳定的版本
- hotfix:用于修复线上bug的分支
- release:正式版本之前,预发布环境的版本
- test:测试环境的分支(主要是测试人员测试需求)
- dev:开发环境的分支
- feature:从dev分支分出,便于开发人员开发,开发完成后合并到dev分支中
工作流程
项目初始
- gitlab上创建项目
- 创建master、release、dev、test分支
迭代开始阶段
- 迭代时间较长,分工明确 开发人员各自新建属于自己的feature分支,代码持续集成到dev分支上
迭代开发阶段
- 开发人员完成feature开发,发起到dev的MR请求(merge request)
- 对MR进行review,接受合并到dev,自动构建测试环境
- 迭代整体测试通过后进入预发布环境阶段release
线上bug修复
- 从master新建hotfix分支
- 修复完bug后,将hotfix分支代码合并到dev进行测试
- 测试通过后合并到master进行发布,并打上tag标签
- 若当前存在relaeas分支,还需将hotfix合并到release
- 删除hotfix分支