分支介绍

  • dev-rcx

开发分支dev-rcx用于公共本地开发,对应开发数据库,x为大版本号,相同版本号的开发分支唯一,可以同时存在不同版本的开发分支

  • test

测试分支test用于发布到测试环境,对应测试数据库,该分支唯一,为受保护的分支

  • preview

验证分支preview用于发布到验证环境,对应验证数据库,上游分支为test,该分支唯一,为受保护分支

  • prod

生产分支prod用于发布到生产环境,对应生产数据库,上游分支为preview,该分支唯一,为受保护分支

流程图

开发流程

1.从当前test分支上checkout对应需要开发版本的分支dev-rcx,x为开发版本号

flyway脚本只有在合并到test分支时才会移动到resources目录下,否则在任意dev分支下,都不允许放在resources下面

2.一般情况下,dev-rc(x+1)会在dev-rcx发布之后再进行开发,dev-rc(x+1)在dev-rcx发布前不会合并到test分支上

3.特殊情况,dev-rc(x+1)在开发后,dev-rcx追加开发内容使得dev-rc(x+1)落后test分支

此时有merge或rebase两种方案更新dev-rc(x+1)分支

1.test分支merge dev-rc(x+1)上

2.dev-rc(x+1)分支rebase test分支

4.线上bug紧急修复

情况一:prod分支中需要改的代码文件与RCX分支对应代码文件版本不一致

  1. 基于prod切出临时分支

  2. 合并到prod与test分支

情况二:prod分支中需要改的代码文件与RCX分支对应代码文件版本一致

RCX直接提交commit,cherrypick到prod分支,后续合并到test分支


分支命名规范

type/branchName/username_desc

例如:feat/rc4/zhangsan_refuse,fix/prod/zhangsan_register

  • type
    用于说明 commit 的类别
    feat:
    新功能(feature)
    fix:
    修补bug
    docs:
    文档(documentation)
    style:
    格式(不影响代码运行的变动)
    refactor:
    重构(即不是新增功能,也不是修改bug的代码变动)
    test:
    增加测试
    chore:
    构建过程或辅助工具的变动

  • branchName

基于哪个分支切出的,就按哪个分支命名,例如rc4

  • username

哪个人切的,例如zhangsan

  • desc

该分支主要做什么,例如refuse,register

Commit Message格式

<type>: <subject>

  • build. 编译相关、构建

  • chore.构建流程、依赖库

  • ci.持续构建

  • docs.文档

  • feat.新功能

  • fix.修复bug

  • perf. 优化、提升性能体验

  • refactor. 重构

  • revert.回滚

  • style.代码格式

  • test.测试用例

文章作者: Ezio
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Ezio's Blog
code git
喜欢就支持一下吧