分支分类

  1. 根据生命周期区分
  • 主分支:master,develop;
  • 临时分支:feature/_,release/_,hotfix/*;
  1. 根据用途区分
  • 发布/预发布分支:master,release/*;
  • 开发分支:develop;
  • 功能分支:feature/*;
    • 热修复分支:hotfix/*;

分支用途

master 分支

master 分支主要放稳定、随时可上线的版本。这个分支只能从别的分支上合并过来,一般来讲,从 develop 上合并,或者从 bugfix 分支上合并过来。不能直接在 master 分支上进行 commit 文件。因为是稳定的版本,所以每次版本发布都要在这个分支上添加标签(tag)。

develop 分支

develop 分支是所有开发分支的母体,所有的开发分支都要从 develop 上切出来,开发完成之后最后都要合并到 develop 上。

hotfix 分支

命名规则:hotfix/* –> hotfix/v+bug修复的版本号

hotfix 分支用来修复生产中的紧急 bug,由于 develop 分支尚处于开发过程中,代码不稳定,不能直接应用于生产。所以从 master 分支上切出一个分支,修复完成之后合并到 master 分支,并且合并到 develop 上。

release 分支

命名规则:release/* –> release/v+发布的版本号

release 分支可以称之为预发布的版本。当我们认为 develop 版本的代码已经趋于成熟,我们可以打一个 release 分支。在 release 分支上测试完成之后,要将代码合并到 master 分支和 develop 上。master 分支是线上版本,而合并到 develop 版本是因为,在测试过程中,一些细节的东西可能会修改,因此这些优化的内容也应该合并到最终版本以及开发版本中。

feature 分支

命名规则:feature/* –> feature/功能名称

feature 分支是最经常使用的分支了。当我们收到一个新的开发功能时,应该在 develop 分支上切出一个 feature 分支。用来完成新功能的开发,开发完成之后,要合并进 develop 分支上。

img

Git Flow 工作流 | Kyire の Blog