一、安装 git-flow Installing git-flow

二、初始化项目

git flow init

接着回答几个关于分支的问题。不用担心,使用默认值即可,直接按回车键。
git-flow 模式会预设两个主分支在仓库中:
master:分支上的代码总是稳定的,随时可以发布出去。
develop:开发的基础分支,但不直接在develop分支上开发,功能的开发是在feature分支上进行。该分支也汇集所有已经完成的功能,并等待被整合到 master 分支中。

三、feature

开发人员来说,最平常的工作可能就是功能的开发。
让我们开始开发一个新功能”rss-feed”:

git flow feature start rss-feed

功能开发完成需要将此分支合并到develop分支,并将feature/rss-feed分支删除。可以使用以下命令实现。

git flow feature finish rss-feed
  • 命令会把我们的工作整合到主 “develop” 分支中去。
  • 它会删除这个当下已经完成的功能分支,并且换到 “develop” 分支。

四、releases

当你认为现在在”develop”分支的代码已经是一个成熟的 release 版本时。那就是时候开始生成一个新的 release

git flow release start v1.0

并且切换到该分支。
当完成release分支功能的完善或者bug的修复后,执行以下命令来完成release分支。

git flow release finish v1.0

这个命令会执行以下的操作:

  • 分支release/v.1.0 merge回master分支
  • 使用release/v.1.0分支名称打tag
  • 分支release/v.1.0 merge回develop分支
  • 删除release/v.1.0分支

五、hotfix, 紧急修复

当发现master分支出现一个需要紧急修复的bug,可以使用hotfix分支。hotfix分支基于master分支,用来修复bug,当完成bug的修复工作后,需要将其merge回master分支。

git flow hotfix start v1.0

bug修复完毕

git flow hotfix finish v1.0

这句命令会将hotfix分支merge到master分支和release分支,并删除该hotfix分支。

ps: git-flow帮助
git flow (feature, releases, hotfix) help