git flow是基于git
的强大分支能力所构建的一套团队协作开发流程的规范
git flow安装方式:
brew install git-flow-avh #稳定版
brew install git-flow-avh –HEAD #开发版
如果没有安装brew可以上官网下载或者访问外网比较慢可以访问清华镜像,下方为清华镜像的教程链接mirrors.tuna.tsinghua.edu.cn/help/homebr…
下载git-flow时由于操作不当,导致报错
Already downloaded: /Users/yiche/Library/Caches/Homebrew/portable-ruby-2.6.8.yosemite.bottle.tar.gz
To retry an incomplete download, remove the file above.
Error: Failed to install Homebrew Portable Ruby (and your system version is too old)!
解释其实很明确了,ruby这个包太老了,不能下载git-flow或者更新brew 所以需要访问/Users/yiche/Library/Caches/Homebrew路径
cd ~/../yiche/Library/Caches/Homebrew
rm -f portable-ruby-2.6.8.yosemite.bottle.tar.gz
这样就可以安装git-flow
使用git flow步骤:
1.首先通过cd命令进入你的项目根目录
2.执行git flow init命令
3. 会让你选择
master
(主分支),develop
(开发分支),feature
(新功能分支前缀),bugfix
(问题修复分支前缀),release
(稳定分支前缀),hotfix
(紧急上线分支前缀),support
(协助分支前缀)以及版本号
前缀和存放web hook
的目录
4.使用下方命令,可以在本地创建git flow规范的本地分支,根据你创建分支的情况可以使用步骤3
中提到的feature,bugfix,release,hotfix,support创建分支,这里我们创建一个代表添加新功能
的分支
feature,bugfix,release基于develop分支创建 hotfix基于master分支创建
git flow feature start 分支名
5.当你在步骤4
创建的分支上开发完之后,需要合并分支到主分支或者开发分支,这时候使用下方命令就会进行合并
feature,bugfix合并到develop分支 hotfix合并到develop和master分支并添加版本号 release合并到master分支,添加版本号
git flow feature finish 分支名
下面是盗图时间:
从上面这张图可以直观的看出develop分支在迭代的过程基本是最新的代码,在develop分支趋于稳定时,可以通过release发布新的版本,当线上环境出现问题时,可以通过hotfix分支紧急修补bug漏洞
推荐使用oh-my-zsh来简写git flow命令
安装oh-my-zsh
// curl 方式
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
// wget 方式
sh -c "$(wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"
#ps: 有的时候网络不好安装会失败,多试几遍就OK。
给git flow取别名
vim ~/.zshrc
在该文件下,添加几条命令
# git flow命令简写
alias gffs="git flow feature start"
alias gfff="git flow feature finish"
alias gfbs="git flow bugfix start"
alias gfbf="git flow bugfix finish"
alias gfhs="git flow hotfix finish"
alias gfhf="git flow hotfix finish"
alias gfrs="git flow release finish"
alias gfrf="git flow release finish"
alias goat="git push origin --all && git push origin --tags" # relese合并完打完tag,可以执行这个命令将代码推到对应分支上去并远程打tag
以后创建分支
gffs 分支名 # 等同于 git flow feature start 分支名
或者可以在.zshrc
文件下添加一条命令,自动生成git和git flow的别名,详细别名参考
github.com/ohmyzsh/ohm…
plugins=(git-flow)
创建分支
gflfs 分支名 # 等同于 git flow feature start 分支名