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: 最新的开发状态
辅助分支:
- feature: 开发新功能的分支, 基于 develop, 完成后 merge 回 develop
- release: 准备要发布版本的分支, 用来修复 bug. 基于 develop, 完成后 merge 回 develop 和 master
- hotfix: 修复 master 上的问题, 等不及 release 版本就必须马上上线. 基于 master, 完成后 merge 回 master 和 develop
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自动做了以下事情:
- 拉取远程仓库,以确保目前是最新的版本。
- release的内容会被合并到 master和develop两个分支中去,这样不仅产品代码为最新的版本,而且新的功能分支也将基于最新代码。
- 为便于识别和做历史参考,release提交会被标记上这个release的名字(在我们的例子里是 1.1.5)
- 清理操作,版本分支会被删除,并且回到develop
Hotfix 紧急修复
hotfix分支是基于master分支的
开始Hotfix
git flow hotfix start missing-link
完成Hotfix
git flow hotfix finish VERSION
命令汇总
参考文档
- 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: 最新的开发状态
辅助分支:
- feature: 开发新功能的分支, 基于 develop, 完成后 merge 回 develop
- release: 准备要发布版本的分支, 用来修复 bug. 基于 develop, 完成后 merge 回 develop 和 master
- hotfix: 修复 master 上的问题, 等不及 release 版本就必须马上上线. 基于 master, 完成后 merge 回 master 和 develop
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自动做了以下事情:
- 拉取远程仓库,以确保目前是最新的版本。
- release的内容会被合并到 master和develop两个分支中去,这样不仅产品代码为最新的版本,而且新的功能分支也将基于最新代码。
- 为便于识别和做历史参考,release提交会被标记上这个release的名字(在我们的例子里是 1.1.5)
- 清理操作,版本分支会被删除,并且回到develop
Hotfix 紧急修复
hotfix分支是基于master分支的
开始Hotfix
git flow hotfix start missing-link
完成Hotfix
git flow hotfix finish VERSION
命令汇总
参考文档
- 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/