先介绍默认的几个分支:
master
主分支,作为最稳定的分支
develop
开发分支,比较稳定的分支,新功能开发完成会合并到这个分支
feature
特性分支,从develop拉取出来开发新功能,若完成开发则合并回develop分支
release
发布分支,从develop拉取出来进行发布,发布完成则合并到master和develop两个分支
hotfix
修复分支,从master拉取进行bug修复,修复完成测试通过则合并到master和develop两个分支
来一张 Git Flow 经典图
接下来就是新版git客户端自带的GitFlow工具集的命令了
初始化
gitflow init # 初始化一个现有的 git 库,将会设置一些初始的参数,如分支前缀名等,建议用默认值
feature
git flow feature start [featureBranchName] # 创建一个基于develop的feature分支,并切换到这个分支之下
git flow feature publish [featureBranchName] # 将feature 分支上传至远端,也可以使用git的push命令
git flow feature finish [featureBranchName] # 结束 feature 分支,并 merge 至 develop, 删除本地分支、远程分支(如已推送至仓库), 切换回develop分支
release
git flow release start [releaseBranchName] # 开始准备release版本,从 develop分支开始创建一个 release 分支
git flow release publish [releaseBranchName] # 将 release 分支上传至远端, 也可以使用git的push命令
git flow release finish [releaseBranchName] # 完成 release 测试,自动将代码 merge 到 master 和develop 分支,用 release 分支名打 Tag,删除本地分支、远程分支(如已推送至仓库)
hotfix
git flow hotfix start [hotfixBranchName] # 基于 master 分支新建hotfix分支
git flow hotfix publish [hotfixBranchName] # 将hotfix分支上传至远端, 也可以使用git的push命令
git flow hotfix finish [hotfixBranchName] # 结束 hotfix 分支,并 merge 到 master 分支和develop 分支, 自动打tag,删除本地分支、远程分支(如已推送至仓库
很好记,就 feature
release
hotfix
分支 对应的 start
publish
finish
命令
Tips:你依旧可以继续使用你所知道和了解的git命令按照git flow的流程走,git flow只是一个工具集合
另外推荐一款图形化工具: Sourcetree
, Windows和MacOS都支持, 免费, 很好用, 而且里面就集成了 Git Flow