我的新书《Android App开发入门与实战》已于2020年8月由人民邮电出版社出版,欢迎购买。点击进入详情
目录
简介
根据Git分支管理策略,结合Git Flow分支管理实践,制定了这个适合app项目开发的Git版本管理规范。
Git版本管理说明
- master主分支
master主分支是线上当前发布的版本,是稳定可用的版本;
app线上版本代码就是这个分支;
- develop分支
develop分支作为日常开发时使用的分支,是功能最新的分支;
app版本迭代开发人员都在这个分支上进行add、modify、commit、push;
develop分支测试完毕后,合入master主分支;
- feature分支
feature分支作为完成某个特定功能的分支,是从dev分支拉的分支;
feature分支根据项目实际情况,分为以下两种:
(1)
此类分支的特点是开发周期短、功能特定新强;
feature分支开发完毕后,合入develop分支;
develop分支测试完毕,合入master主分支后,删除feature分支;
(2)
此类分支的特点是开发周期长,一般与develop分支处于并行关系;
feature分支功能与develop分支同步,但是自身有特定的功能;
feature分支一般情况下不删除;
- hotfix分支
作为master分支,是为了修复线上版本紧急的bug拉的分支;如线上版本的证书突然失效;
- release分支
release分支主要做工是用来给当前版本提测以及修复bug使用。release版本过测后,需要做两步操作,
一是将release分支合入到master分支;
二是将release分支合入到当前的develop分支;
Git版本管理流程图
分支命名规范
- 主分支:master
- 开发分支:develop
- 特性分支:feature/***
- 修复bug分支:hotfix/***
- TAG标记:tag/***
- 发布分支:release/***
Git版本管理表格图
分支类型 | 命名规范 | 创建自 | 合入到 | 说明 |
master | master | / | / | 主分支,发布后需打上tag |
develop | develop | master | master | 版本迭代开发 |
feature | feature/*** | develop | develop | 新功能,版本发布后删除此分支 |
feature | feature/*** | develop | / | 定制版、OEM版 |
hotfix | hotfix/*** | master | master&develop | 生产环境紧急bug修复 |
tag | tag/*** | master | / | master的tag |
release | release/*** | develop | master&develop | 待发布版本的提测及修复bug |
备忘
1、release分支merge到master主分支之后,需要打上一个tag;
2、分支版本的设立、master版本的merge,统一由管理员操作;
3、分支版本的merge,比如从feature分支merge到develop分支,一般先在本地仓库的feature分支merge到本地仓库的develop分支,然后将develop分支push到gitlab服务器上。