Git Flow安装及使用、规范

1,036 阅读3分钟

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命令

截屏2022-01-25 下午5.46.23.png 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 分支名

下面是盗图时间:

image.png

从上面这张图可以直观的看出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 分支名