Gitflow开发流程

Git flow

请大家在协作开发过程中,尽量使用这种流程,对自己和团队都有利。

Git flow 定义

1、gitflow定义了一个围绕项目发布的严格的分支模型
2、gitflow仍然用中央仓库作为所有开发者的交互中心。

Git flow 分支讲解

Gitflow开发流程_第1张图片

master: maseter分支,存储正式发布的历史。发布的版本号
hotfix:上线分支,bug情急修复分支
release:发布分支,发布上线的时候
develop:开发分支,作为功能的收集分支。
feature:功能分支,每次开发新功能的时候都会有对应的feature分支

手把手教你如何创建Gitflow流程

第一步:


Gitflow开发流程_第2张图片

第二步:

Gitflow开发流程_第3张图片
2017-09-10-屏幕快照 2017-09-10 下午12.40.16.png

生成结果:

Gitflow开发流程_第4张图片

历史分支

相对使用仅有的一个master分支,Gitflow工作流使用2个分支来记录项目的历史。master分支存储了正式发布的历史,而develop分支作为功能的集成分支。这样也方便master分支上的所有提交分配一个版本号。

功能分支

每个新功能位于一个自己的分支,这样可以push到中央仓库以备份和协作。但功能分支不是从master分支上拉出新分支,而是使用develop分支作为父分支。当新功能完成时,合并回develop分支。新功能提交应该从不直接与master分支交互。

功能分支——feature分支:
1、使用develop分支作为父分支,
2、每个新功能位于一个自己的分支
3、新功能完成后,合并回develop分支。
4、新功能提交应该从不直接与master分支交互。
5、分支名称feature/[feature name]。

Gitflow开发流程_第5张图片

如何创建一个功能分支呢

Gitflow开发流程_第6张图片
2017-09-10-15050187633843.jpg

点击 建立新功能

Gitflow开发流程_第7张图片

自动生成新分支

Gitflow开发流程_第8张图片

当完成当前分支的开发需求之后,需要合并回develop分支。 点击 Git 工作流

点击 完成当前版本

然后点击 确定

Gitflow开发流程_第9张图片

发布分支

1、release分支使用develop分支作为父分支。
2、这个分支只应该做bug修复、文档生成和其它面向发布的任务。
3、发布完成之后,发布分支应该合并到master分支并分配一个版本号打好tag。
4、从新建发布分支以来的做的修改要合并回develop分支。
5、当前发布分支名称:release/[release version No.]
6、当前发布bug修复分支名称:release-bugfix-[Version No.]/[bug name|bug No.]

release 一般准备发布文档,部署在测试环境,让测试人员去测试。之后做bug修复工作。

release分支使用develop分支作为父分支。

Gitflow开发流程_第10张图片

创建发布分支 版本号,并确定生成该分支


Gitflow开发流程_第11张图片

在release分支中做 bug修复工作


Gitflow开发流程_第12张图片
2F8CBCB5-75C1-4778-9D4C-93349F4DBAF9

修复工作完成之后,完成当前发布版本的更新


Gitflow开发流程_第13张图片
99298511-4B22-484A-8688-DFC2C268ECD0

对该分支打tag标签,删除release分支,并合并回 开发分支和 master分支中去

Gitflow开发流程_第14张图片
B1A4D85C-6272-498D-988B-9244DF887BD4

圆满结束


Gitflow开发流程_第15张图片
62F3329E-61B0-48D0-ADE7-9EBDAC5E0EB3

维护分支hofix分支操作

1、要从master分支上建立新的分支。
2、develop分支第一次从master分支fork出来,此后独立成长。hotfix分支一直从master分支fork出来。
3、修复完成,应该马上合并回master分支和develop分支。
4、master分支应该用新的版本号打好tag。
5、分支名称:hofix/[bug name|bug No.]。

master,develop,feature,release形成一个闭环。线上bug需要紧急修复时,master分支上fork一个hotfix分支,hotfix分支完成后,会合并到master分支,也会合并到develop分支。

feature往前推进过程中,定期将develop分支合并feature分支,这样可以使冲突最小化。

Gitflow开发流程_第16张图片
6D51BD9C-575E-42BF-BFB4-BC1CA3FE3A9B
Gitflow开发流程_第17张图片
7C8098EB-C8D6-4732-9A12-F6AF6CC8B616
Gitflow开发流程_第18张图片
7DB8B1AE-6173-4755-8588-8500C5D7E579
Gitflow开发流程_第19张图片
C19AF976-09FC-40A6-B3A7-BC54F76A8609

你可能感兴趣的:(Gitflow开发流程)