git-flow 的介绍

前言

  刚开始项目的开发流程是:每个开发人员在原项目基础上fork建立了一个自己的本地分支,每次提交前先push到自己本地分支,然后通过gitlab再pull request到主项目的分支上,进行代码审核完成后合并到主项目。
 项目开发完成,临近上线,发现这种工作流程不利于到时线上紧急修复bug及版本迭代控制,决定使用git-flow控制流程。

git flow 图

git-branching-model.png

整体可分为5个分支:

  1. master branch(永久存在):维护线上正式发布版本,master分支只能合并其他分支,并且只有管理人员有merge权限;

  2. hotfixes branch ( 临时存在 ) : 用于线上bug紧急修复,当需要紧急修复时,从master分支 checkout 此分支出来,修复完bug测试通过后,merge 到 master 、 develop分支,并 delete hotfixes 分支, 版本迭代完成;

  3. develop branch(永久存在): 用于功能开发迭代,从master checkout, 在该分支基础上进行功能开发,阶段开发结束后, checkout release 分支,用于测试人员测试,测试通过后,merge release 到 master 、 develop分支,并delete release 分支

  4. feature branch ( 临时存在) : 当需要同时进行不同功能的开发时,从develop 分支 checkout feature 分支,开发完成后 merge 回develop ,发布到release分支测试,删除feature 分支

  5. release branch ( 临时存在) : 用于功能测试,开发完一个新功能后,在该分支上进行测试, 新功能bug也在改分支上修复, 测试通过后 merge到 master 、 develop 分支, delete此分支

你可能感兴趣的:(git-flow 的介绍)