参考文章:
git flow的使用
https://www.cnblogs.com/lcngu/p/5770288.html
git-flow 备忘清单
http://danielkummer.github.io/git-flow-cheatsheet/index.zh_CN.html
一、安装
brew install git-flow-avh
二、各个分支关系图
image.png三、常用命令
image.png(一)、init
1、git flow初始化
git flow init
你必须回答几个关于分支的命名约定的问题。建议使用默认值。
bogon:JZG_TDSP husj$ git flow init
Which branch should be used for integration of the "next release"?
- dev
Branch name for "next release" development: [] dev
How to name your supporting branch prefixes?
Bugfix branches? [bugfix/] devBugFix
Hooks and filters directory? [/Users/husj/JZGRNProject/JZG_TDSP/.git/hooks]
这个命令会进行一些默认的配置,可以自动创建上面介绍的所有分支:master、develop、feature、relase、hotfix等分支。
完成后当前所在分支就变成 develop. 任何开发都必须从 develop 开始。
(二)、feature
1、开始新Feature:
git flow feature start MYFEATURE
bogon:JZG_TDSP husj$ git flow feature start devhsj
Switched to a new branch 'feature/devhsj'
Summary of actions:
- A new branch 'feature/devhsj' was created, based on 'dev'
- You are now on branch 'feature/devhsj'
Now, start committing on your feature. When done, use:
git flow feature finish devhsj
bogon:JZG_TDSP husj$
这个操作创建了一个基于'develop'的特性分支,并切换到这个分支之下
2、Publish一个Feature(也就是push到远程):
git flow feature publish MYFEATURE
或者
git push origin feature/MYFEATURE
发布新特性分支到远程服务器,所以,其它用户也可以使用这分支
3、获取Publish的Feature:
git flow feature pull origin MYFEATURE
你可以使用如下命令跟踪在origin上的特性分支
git flow feature track MYFEATURE
4、完成一个Feature:
git flow feature finish MYFEATURE
合并 MYFEATURE 分支到 'develop'
删除这个新特性分支
切换回 'develop' 分支
(三)、release
1、开始一个Release:
git flow release start RELEASE [BASE]
git flow release start v0.1.0
当你的功能点都完成时(需要发布新版本了),就基于develop创建一个发布(release)分支。
你可以选择提供一个 [BASE]参数,即提交记录的 sha-1 hash 值,来开启动 release 分支. 这个提交记录的 sha-1 hash 值必须是'develop' 分支下的。
2、Publish一个Release: (也就是push到远程)
git flow release publish RELEASE
创建 release 分支之后立即发布允许其它用户向这个 release 分支提交内容。
你可以通过如下命令签出 release 版本的远程变更
git flow release track RELEASE
3、完成Release:
git flow release finish RELEASE
别忘了git push --tags
归并 release 分支到 'master' 分支
用 release 分支名打 Tag
归并 release 分支到 'develop'
移除 release 分支
(四)、Hotfix:【紧急修复】
来自这样的需求:生产环境的版本处于一个不预期状态,需要立即修正。
有可能是需要修正 master 分支上某个 TAG 标记的生产版本。
1、开始一个Hotfix:
git flow hotfix start VERSION [BASENAME]
VERSION 参数标记着修正版本。你可以从 [BASENAME]开始,[BASENAME]为finish release时填写的版本号
2、发布一个Hotfix:
git flow hotfix finish VERSION
当完成紧急修复分支,代码归并回 develop 和 master 分支。相应地,master 分支打上修正版本的 TAG。
网友评论