Git工作流规范

1.git分支及工作流

当前工作流包含以下分支:

**master : ** 主存储分支;

**stage : ** 稳定测试分支;

**feature : ** 功能分支;

**hotfix : ** 热修复分支;

**develop : ** 开发分支;

**test : ** 乱入开发分支;

support : 支持开发分支;

任何发版均不预设版本号,仅在stage分支向master分支合并时才会打上版本号规则的标签, 版本号规则如下:

  1. 版本号命名vx.y.z, 例v1.2.3
  2. 当前stage上是hotfix,应在z版本号上加1
  3. 当前stage上是乱入需求或当前迭代提前发布需求或当前迭代需求,都应在y版本号上加1
  4. 当前stage上是support的,应在x版本号上加1

2.git工作流

git分支可分为master hotfix test stage develop support feature7类分支,以下对分支详细解释:

2.1 master分支

存储分支,发版分支

一般规则:

  1. 主干分支,用于存储发版;

  2. 仅允许stage分支合并;

  3. hotfix分支、feature均直接自master分支拉取;

  4. stage分支向master分支合并必须打上标签,标签命名为版本号。

冲突规则:

  1. master分支中如存在没有部署的代码,不允许合并。

2.2 stage分支

融合分支,协调分支

一般规则:

  1. stage分支可自test分支、develop分支、support分支、hotfix分支拉取;
  2. stage分支对应stage测试环境,stage测试环境也是预发环境;
  3. stage分支向master分支合并时,需打上版本号;
  4. hotfix、develop、support、test在合入stage前,如果发现master版本与当前版本有差异,例如master上已有hotfix、或乱入功能,但即将合入stage的develop迭代分支上没有这些,则需要先从master拉取一个新的stage后,再将develop合入这个stage分支,以进行融合性测试。

冲突规则:

  1. stage是融合的主要分支,如果时间允许,hotfix develop support可融合到stage分支,一同测试;
  2. 如果stage上存在测试分支,且无法融合,则创建新的stage分支等待测试, 新的stage分支命名规范未stage/分支名
  3. stage上等待测试的优先级顺序为:hotfix>乱入功能>develop>support, 如果遇到测试冲突,则协调按优先级测试。

2.3 feature分支

功能开发分支, 不需要紧急上线可跟迭代走的bug修复分支

一般规则

  1. 全部自master分支拉取
  2. 功能分支可分为迭代功能和乱入功能,任何迭代中需要提前发布的功能均转换为乱入功能
  3. 跟着迭代的bug修复,命名规范建议为bugfix/分支名
  4. 迭代feature及bugfix都应合入develop分支进行测试;
  5. 乱入功能都应合入test分支进行测试;
  6. feature命名规范为feature/分支名
  7. feature都在本地保存,如果需要协作或在家办公,可推倒远程,但在推倒develop test分支后,应予以删除

冲突规则

本地分支,不需要解决冲突

2.4 develop分支

迭代开发测试分支

一般规则

  1. 每次迭代开始时自master分支拉取,由迭代feature分支合入,对应测试环境;
  2. 测试完成后合入stage分支,进行融合测试;

冲突规则

  1. develop作为迭代测试分支存在,如果当前迭代因故延误,未测试完成下一迭代已开始,则创建新的迭代作为新迭代存储测试分支, 命名规范为develop/分支名。
  2. develop/分支名 最多保留2个月

2.5 test分支

乱入功能测试分支

一般规则

  1. 自乱入功能feature创建,对应test测试环境,同一个时间段内只能保留一个乱入功能;
  2. 测试完成后合入stage分支,进行融合测试;

冲突规则

  1. test作为乱入测试分支存在,如果当前测试因故延误,下一功能已完成,则创建新的test分支,命名规规为test/分支名
  2. test/分支名 最多保留2个月

2.6 support分支

组件,跨领域项目开发分支、专项分支

一般规则

  1. 每次单项(组件,跨领域项目,单项修复)开始时,均自master分支拉取, 直接在support分支上开发;
  2. 多人协作,可从support拉取feature分支,开发完成后合入support分支
  3. 每个support有该support负责人在本地进行测试,测试完成后合入stage分支进行融合测试;

冲突规则

  1. 同1时间存在多个support, 则创建新的support分支,命名规范为support/分支名

2.7 hotfix分支

热修复分支

一般规则

  1. 全部自master分支拉取;
  2. 开发自测完成后合入stage分支进行融合测试。

冲突规则 不包含冲突

3 merge合并

  1. 任何分支向另一分支合并时都应该使用

   git merge --no-ff而不是直接git merge

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值