gitflow笔记

gitflow笔记

安装

macOS:

brew install git-flow-avh

Ubuntu:

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

初始化

在一个已有的版本库中执行

git flow init

默认有master及develop两个长期分支

分支说明

主要分支:

  • master: 永远处在即将发布(production-ready)状态
  • develop: 最新的开发状态
gitflow笔记_第1张图片
2018-01-22-11-08-40

辅助分支:

  • feature: 开发新功能的分支, 基于 develop, 完成后 merge 回 develop
  • release: 准备要发布版本的分支, 用来修复 bug. 基于 develop, 完成后 merge 回 develop 和 master
  • hotfix: 修复 master 上的问题, 等不及 release 版本就必须马上上线. 基于 master, 完成后 merge 回 master 和 develop
gitflow笔记_第2张图片
2018-01-22-11-09-25

Feature 新特性

新特性帮助

git flow feature help

增加新特性

git flow feature start rss-feed

完成新特性

git flow feature finish rss-feed

Publish 推送

此部分为可选。新特性分支可以只存在于本机,不向远程仓库推送

推送新特性

可以使用publish命令将一个feature分支推到远程服务器

git flow feature publish rss-feed

或者直接:

git push origin feature/rss-feed

取得一个发布的新特性分支

git flow feature pull origin rss-feed

Release 发布

release分支是基于develop分支的

准备Release

git flow release start 1.1.5
Switched to a new branch 'release/1.1.5'

现在,可以在release/1.1.5分支,开始最后的准备工作,例如项目里的某些文件需要记录版本号

完成Release

git flow release finish 1.1.5

git-flow自动做了以下事情:

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

Hotfix 紧急修复

hotfix分支是基于master分支的

开始Hotfix

git flow hotfix start missing-link

完成Hotfix

git flow hotfix finish VERSION

命令汇总

gitflow笔记_第3张图片
2018-01-22-11-09-49

参考文档

  • https://danielkummer.github.io/git-flow-cheatsheet/index.zh_CN.html
  • https://www.git-tower.com/learn/git/ebook/cn/command-line/advanced-topics/git-flow
  • http://stormzhang.com/git/2014/01/29/git-flow/

gitflow笔记

安装

macOS:

brew install git-flow-avh

Ubuntu:

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

初始化

在一个已有的版本库中执行

git flow init

默认有master及develop两个长期分支

分支说明

主要分支:

  • master: 永远处在即将发布(production-ready)状态
  • develop: 最新的开发状态
gitflow笔记_第4张图片
2018-01-22-11-08-40

辅助分支:

  • feature: 开发新功能的分支, 基于 develop, 完成后 merge 回 develop
  • release: 准备要发布版本的分支, 用来修复 bug. 基于 develop, 完成后 merge 回 develop 和 master
  • hotfix: 修复 master 上的问题, 等不及 release 版本就必须马上上线. 基于 master, 完成后 merge 回 master 和 develop
gitflow笔记_第5张图片
2018-01-22-11-09-25

Feature 新特性

新特性帮助

git flow feature help

增加新特性

git flow feature start rss-feed

完成新特性

git flow feature finish rss-feed

Publish 推送

此部分为可选。新特性分支可以只存在于本机,不向远程仓库推送

推送新特性

可以使用publish命令将一个feature分支推到远程服务器

git flow feature publish rss-feed

或者直接:

git push origin feature/rss-feed

取得一个发布的新特性分支

git flow feature pull origin rss-feed

Release 发布

release分支是基于develop分支的

准备Release

git flow release start 1.1.5
Switched to a new branch 'release/1.1.5'

现在,可以在release/1.1.5分支,开始最后的准备工作,例如项目里的某些文件需要记录版本号

完成Release

git flow release finish 1.1.5

git-flow自动做了以下事情:

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

Hotfix 紧急修复

hotfix分支是基于master分支的

开始Hotfix

git flow hotfix start missing-link

完成Hotfix

git flow hotfix finish VERSION

命令汇总

gitflow笔记_第6张图片
2018-01-22-11-09-49

参考文档

  • https://danielkummer.github.io/git-flow-cheatsheet/index.zh_CN.html
  • https://www.git-tower.com/learn/git/ebook/cn/command-line/advanced-topics/git-flow
  • http://stormzhang.com/git/2014/01/29/git-flow/

你可能感兴趣的:(gitflow笔记)