目前最流行的Git分支管理规范应该属git-flow莫属了,它的核心概念是版本发布,适用于项目的持续集成和频繁发布,这也是近些年使用Git的过程中一直使用的规范。
git-flow流程中有5类分支,分别是master、develop、relaese(发布版本)、feature(新功能分支)、hotfix(修复bug版本),这些分支都有各自的作用和生命周期,master是最稳定的分支,develop是一个新代码集成分支,所有发布后的代码都合并到develop,然后由develop合并到master,开发完成后在发布的时候创建release分支进行发布,在开发新功能的时候创建一个feature分支,生产上遇到需要修复的紧急bug时,创建一个hotfix分支。
分支名称规则:release/feature/hotfix-分支创建日期-分支版本号
分支类型 | 命名规范 | 创建自 | 合并到 | 说明 |
---|---|---|---|---|
feature | feature/* | develop | develop | 新功能 |
release | release/* | develop | develop 和 master | 一次新版本的发布 |
hotfix | hotfix/* | master | develop 和 master | 生产环境中发现的紧急 bug 的修复 |
Git分支关系图
-
对于不同的开发任务,需要在不同的分支上完成开发,开发完成后合并到develop分支进行测试,基本流程如下:
-
从develop分支创建一个feature分支:feature/cc-20200420-v1.0.1
-
在feature/cc分支上进行开发
-
开发完成后将feature/cc合并到develop分支
-
-
在进行版本发布时的基本流程如下:
- 从develop创建release分支:release/cc-20200420-v1.0.1
- 将release/cc分支发布到测试环境进行测试,测试中出现的bug直接在release/cc分支上修改并提交
- 测试完成后合并到develop和master,并在master上打一个Tag
-
在进行生产bug紧急修复时的基本流程如下:
- 从master创建hotfix分支:hotfix/cc-20200420-v1.0.1
- 验证完成后将hotfix/cc分支合并到develop和master,并在master上打一个Tag