3.gitflow流程

1.GitFlow的常用分支

master 主分支

  • 主分支,产品的功能全部实现后,在master分支对外发布。
  • 该分支为只读唯一分支,只能从其他分支进行合并,不能再次分支上进行修改。
  • 所有在master分支上的推送都应改打标签做记录。

develop 主开发分支

  • 主开发分支,基于master分支克隆
  • 包含所有要发布到下一个release的代码
  • 该分支为只读唯一分支,只能从其他分支合并
  • feature功能分支完成,合并到develop分支
  • develop拉取release分支,提测
  • release/hotfix分支上线完毕,合并到develop并推送

feature 功能开发分支

  • 功能开发分支,基于develop分支克隆,主要用于新需求新功能的开发
  • 功能开发完毕后合并到develop分支(未正式上线前不能推送到远程中央仓库!)
  • feature分支可以同时存在多个,用于团队中多个功能同时开发,属于临时分支,功能完成后可删除该分支

release 测试分支

  • 测试分支,基于feature分支合并到develop分支后,从develop分支克隆
  • 主要用于提交给测试人员进行功能测试,测试过程中发现的BUG在本分支进行修复,修复完成后上线合并到develop/master分支
  • 属于临时分支,功能上线后可选择性删除

hotfix 补丁分支

  • 补丁分支,基于master分支克隆,主要用于对线上的版本进行BUG修复
  • 修复完毕后合并到develop/master分支并推送
  • 属于临时分支,补丁修复上线后可选择性删除
  • 所有hotfix分支的修改都会进入到下一个release

主要工作流程

1.初始化项目为gitflow,默认创建master分支,然后从master分支上拉取第一个develop分支作为开发主分支。
2.从develop分支上拉取feature功能开发分支进行编码开发,多个开发人员拉取多个feature同时进行并行开发,互不影响。
3.feature分支完成后,合并到develop分支(不推送,由于feature分支的功能完成还没有进行提测,推送后会影响其他功能分支的开发),合并feature分支到develop分支,可以选择删除当前feature分支。也可以不删除,但是当前feature分支就不可进行更改了,必须从release分支继续编码修改。
4.从develop分支进行提测,提测过程中在release分支上修改BUG。
5.release分支上线后,合并release分支到develop/master分支并推送合并之后,可以选择删除当前release分支,若果不删除,则当前release分支不可修改。线上有问题也必须从master分支拉取hotfix分支进行修改
6.上线之后如果发现BUG,则从master分支上拉取hotfix分支进行BUG修改。
7.hotfix分支代码通过测试上线后,合并hotfix分支到develop/master分支并推送,合并后,可以选择删除当前hotfix分支,若果不删除,则当前hotfix不可修改,若果补丁未被修复,需要从master拉取新的hotfix分支继续修改。
8.当进行一个feature功能开发时,若develop分支发生变动,例如其他开发人员完成功能并上线,则需要从将对方完成的功能合并到自己的分支上,即合并develop主开发分支到当前feature功能开发分支上。
9.当进行一个release测试分支时,若develop分支发生变动,例如其他开发人员完成功能并上线,则需要将完成的功能合并到自己的release分支上(注意:如果在不合并develop分支的情况下,将当前release测试分支发布到线上,可能会发生代码丢失的情况)。
转自:https://blog.csdn.net/xingbaozhen1210/article/details/81386269

你可能感兴趣的:(3.gitflow流程)