简介

git-flow是一个git扩展集,也就是说git-flow命令的本质还是git命令。以下内容出自:git-flow 备忘清单

基础建议

  • git-flow提供了极其出色的命令帮助以及输出提示;
  • Sourcetree 是一个极其出色的git图形化工具,已经提供了git-flow支持是一个极其出色的git图形化工具,已经提供了git-flow支持;
  • git-flow是一个基于归并的解决方案,它并没有提供重置(release)特性分支的能力。

安装

brew install git-flow-avh

开始

初始化

进入项目目录进行初始化,一直按回车

git flow init

这个命令会做了两件事:

  • 在当前项目下创建一个基于master的develop分支;
  • 切换到develop分支。

新功能开发

1) 初始化

git flow feature start 功能名称

这个命令做了以下几件事:

  • 创建一个基于develop的‘feature/功能名字’分支;
  • 切换到‘feature/功能名称’分支。

2) 完成新功能开发

git flow feature finish 功能名称

这个命令做了以下几件事:

  • 合并‘feature/功能名称’分支到develop分支上;
  • 删除‘feature/功能名称’分支;
  • 切换回develop分支。

3) 如果多人合作开发一个新功能,你需要把代码push到服务器上给其他成员使用:

git flow feature publish 功能名称

这个命令做了:

  • 把‘feature/功能名称’分支push到服务器

4)同理,多人开发一个新功能,你需要获取其他成员的代码,有两种情况:

本地没有'feature/功能名称'分支

git flow feature track 功能名称

本地已经有了'feature/功能名称'分支

git flow feature pull origin 功能名称

这两个命令实际上都是:

  • 拉取服务器上的'feature/功能名称'分支到本地:

5)完成了新功能开发:

git flow feature finish 功能名称

该命令做了以下几件事:

  • 合并‘feature/功能名称’分支到develop分支;
  • 删除‘feature/功能名称’本地分支;
  • 如果远程仓库有'feature/功能名称'分支,删除;
  • 切换回develop分支。

发布版本

当功能点都完成时(需要发布新版本了),就基于develop创建一个发布(release)分支,然后升级版本号并在最后发布日期前把Bug Fix掉吧。

这里的“版本号”对应着上线的版本号!

1)创建一个release版本

git flow release start 版本号

该命令做的事情:

  • 创建一个基于develop分支的‘release/版本号’分支;
  • 切换到‘release/版本号’分支。

2)如果多人共同修改这个版本的bug,你需要push代码到服务器供其他成员使用:

git flow release publish 版本号

内部做的事情和“新功能开发 -> git flow feature publish”命令一样。

3)获取服务器‘release/版本号’的代码

本地没有'release/版本号'分支

git flow release track 版本号

本地已经有了'release/版本号'分支

git flow release pull origin 版本号

4)完成release版本

git flow release finish 版本号

做了以下几件事:

  • 拉取服务器代码,以确保本地代码为最新;
  • release内容和合并到master和develop分支上;
  • 代码在合并到master和develop分支的同时会打上“版本号”的tag;
  • 删除“release/版本号”分支,并切回到develop分支。

紧急修复bug

已发布的版本出现紧急bug需要修复,使用hotfix,该分支基于master:

1)初始化

git flow hotfix start 版本号

做了以下几件事:

  • 创建基于master的“hotfix/版本号”分支;
  • 切换到“hotfix/版本号”分支。

2)完成紧急修复

git flow hotfix finish 版本号

内部原理和‘git flow release finish’一样

看图说话

results matching ""

    No results matching ""