git flow工作流

git-flow是一个关于git的工具,它能更好的规范你当前项目的流程,让你的工作流程变的更加合理有效,简单说,git-flow就是聪明有效地把标准的 Git命令用脚本组合了起来并且不会影响你原来的git命令。

安装(windows环境):

找到自己git的安装目录:

忘记的话可以在cmd上面输入

where git

得到git安装目录

1、下载getopt.exe和libintl3.dll文件

把上述两个文件下载到git安装目录下面的bin目录中,下载地址
百度云盘
(复制链接打开:https://pan.baidu.com/s/1hBJ_Lrn-VrXF1vhVvY5_gQ)

2、clone git-flow到本地

git安装目录后执行以下命令

git clone git://github.com/nvie/gitflow.git
gitflow.png
3、安装

进入gitflow/contrib目录后执行下面操作

msysgit-install.cmd "D:\Program Files\Git" //后面跟相应你自己git安装路径
4、检测安装是否成功
git flow
gitflow1.png

实际开发中使用git-flow

git-flow可以在你当前使用git的项目中使用,进入你所在的项目

1、初始化git-flow
git flow init

初始化后git-flow会在仓库中预设两个分支

  • master:产线上的分支,存储官方发布历史,在实际开发中不直接提交改动到 master 分支。
  • develop:开发新功能的基础分支,另外,该分支也汇集所有已经完成的功能,并等待被整合到 master 分支中。


    1.png

这两个分支被称作为 长期分支。它们会存活在项目的整个生命周期中。

2、新功能开发(git flow feature)
2.png

开始

一个新功能开发时,我们会基于最新的远程develop分支新建一个功能分支

没有git-flow

git checkout develop
git pull
git checkout -b 

存在git-flow时

git flow feature start 

结束

新功能开发完,我们就要把功能合并到develop分支,你的本地功能分支的生命周期也就结束了,即删除功能分支

没有git-flow

git checkout develop
git merge 
git branch -D 

存在git-flow时

git flow feature finish 
3、管理 releases(git flow releases)

当develop分支包括所有新的功能和必要的修复后并且已经被彻底的测试过了。并且可以等待正式发布的时候就可以创建一个release分支,再次之后不能添加任何新功能,只有bug修复


3.png

开始

这个spring的所有新功能已经开发完成,且测试通过,我们将要发布的时候切一个release分支

没有git-flow

git checkout develop
git checkout -b release/0.1.0 //后面跟版本号

存在git-flow时

git flow release start 0.1.0

请注意,release 分支是使用版本号命名的。这是一个明智的选择,这个命名方案还有一个很好的附带功能,那就是当我们完成了release 后,git-flow 会适当地自动去标记那些 release 提交

完成release

没有git-flow

git checkout develop
git pull
git merge release/0.1.0
git checkout master
git merge release/0.1.0
git branch -D release/0.1.0

存在git-flow时

git flow release finish 0.1.0

这个命令会完成如下一系列的操作

  • git-flow 会拉取远程仓库,以确保目前是最新的版本。
  • release 的内容会被合并到 “master” 和 “develop” 两个分支中去,这样不仅产品代码为最新的版本,而且新的功能分支也将基于最新代码。
  • 为便于识别和做历史参考,release 提交会被标记上这个 release 的名字(在我们的例子里是 “1.1.5”)。
  • 清理操作,版本分支会被删除,并且回到 “develop”。
4、hotfix

在版本发布之后我们偶尔可能会发现一些小的bug,在这个时候我们就需要紧急修改上线的版本我们称这个为hotfix。该分支主要是基于master分支进行修改


4.png

开始

修改线上的紧急bug,基于master分支切换hotfix分支

没有git-flow

git checkout master
git checkout -b 

存在git-flow时

git flow hotfix start 

完成 Hotfixes

完成bug修复后,要把修复好的代码复制到master和develop,以便下次代码的完整

没有git-flow

git checkout develop
git pull
git merge 
git checkout master
git merge 
git branch -D 

存在git-flow时

git flow hotfix finish 0.1.0

git-flow更加详细的文档:https://www.cnblogs.com/hqbhonker/p/5092300.html

你可能感兴趣的:(git flow工作流)