玩转 git-flow 工作流

1、关于git-flow

git-flow 是一个 git 扩展集,按 Vincent Driessen 的分支模型提供高层次的库操作。Vincent Driessen 详情
在这里插入图片描述
git-flow 是一个基于归并的解决方案,它并没有提供重置(rebase)特性分支的能力。

gitkraken是一个极出色的 git 界面客户端,已经提供了 git-flow 的支持。

2、安装

macOS

Homebrew

$ brew install git-flow-avh

Macports

$ port install git-flow-avh
Linux
$ apt-get install git-flow
Windows
$ wget -q -O - --no-check-certificate https://raw.github.com/petervanderdoes/gitflow-avh/develop/contrib/gitflow-installer.sh install stable | bash

3、开始探索整个过程

使用之前,先搭建好自己的git仓库。新特性的开发是基于 ‘develop’ 分支的,创建好develop分支。

3.1初始化(init)

使用 git-flow,从初始化一个现有的 git 库。

$ git flow init

初始化过程中会回答几个关于分支的命名约定的问题,建议使用默认值(一路回车)。
在这里插入图片描述

3.2特性(feature)

3.2.1开发一个新功能

新特性的开发是基于 ‘develop’ 分支的,通过下面的命令开始开发新特性:

$ git flow feature start hfbin

这个操作创建了一个基于’develop’的特性分支,并切换到这个分支之下。在这里插入图片描述

3.2.2完成一个新功能

完成开发新特性,会将合并 hfbin 分支到 ‘develop’,删除这个新特性分支,切换回 ‘develop’ 分支。

git flow feature finish hfbin

在这里插入图片描述

3.2.3 发布新特性

可以将自己的分支发布到远程仓库上,使得其他用户也可以使用你的分支。

$ git flow feature publish hfbin
3.2.4 获取发布的新特性分支

取得其它用户发布的新特性分支,并签出远程的变更。

$ git flow feature pull origin hfbin

3.4 发布版本(release)

支持一个新的用于生产环境的发布版本。允许修正小问题,并为发布版本准备元数据。

3.4.1 开始准备release版本

开始准备release版本,使用 git flow release 命令,它从 ‘develop’ 分支开始创建一个 release 分支。

$ git flow release start v1.0.0

创建 release 分支之后立即发布允许其它用户向这个 release 分支提交内容。命令十分类似发布新特性:

$ git flow release publish v1.0.0

在这里插入图片描述

3.4.2 完成 release 版本

完成 release 版本是一个大 git 分支操作。它执行下面几个动作:
1 、归并 release 分支到 ‘master’ 分支
2、用 release 分支名打 Tag
3、归并 release 分支到 ‘develop’
4、移除 release 分支

$ git flow release finish v1.0.0

在这里插入图片描述

3.4 紧急修复(hotfix)

紧急修复来自这样的需求:生产环境的版本处于一个不预期状态,需要立即修正。 有可能是需要修正 master 分支上某个 TAG 标记的生产版本。

3.4.1 开始 git flow 紧急修复

像其它 git flow 命令一样:

git flow hotfix start VERSION [BASENAME]

VERSION 参数标记着修正版本。你可以从 [BASENAME]开始,[BASENAME]为finish release时填写的版本号
在这里插入图片描述

3.4.2 完成紧急修复

当完成紧急修复分支,代码归并回 develop 和 master 分支。相应地,master 分支打上修正版本的 TAG。

git flow hotfix finish VERSION

在这里插入图片描述

4、命令总结

在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章