Git Flow工作流

一、简介

Git Flow定义了一个项目发布的分支模型,为管理具有预定发布周期的大型项目提供了一个健壮的框架。

二、流程解析

1. master分支

存放所有正式发布的版本,可以作为项目历史版本记录分支,不直接提交代码。仅用于保持一个对应线上运行代码的 code base。

2. develop分支

主开发分支,一般不直接提交代码

3. feature分支

新功能分支,feature分支都是基于develop创建的,开发完成后会合并到develop分支上。同时存在多个

4. release分支

基于最新develop分支创建,当新功能足够发布一个新版本(或者接近新版本发布的截止日期),从develop分支创建一个release分支作为新版本的起点,用于测试,所有的测试bug在这个分支改。测试完成后合并到master并打上版本号,同时也合并到develop,更新最新开发分支。(一旦打了release分支之后不要从develop分支上合并新的改动到release分支),同一时间只有1个,生命周期很短,只是为了发布。

5. hotfix分支

基于master分支创建,对线上版本的bug进行修复,完成后直接合并到master分支和develop分支,如果当前还有新功能release分支,也同步到release分支上。同一时间只有1个,生命周期较短

三、Git Flow工具包命令

  • git flow init:初始化一个现有的 git 库,将会设置一些初始的参数,如分支前缀名等,建议用默认值。

  • git flow feature start [featureBranchName]: 创建一个基于'develop'的feature分支,并切换到这个分支之下。

  • git flow feature finish [featureBranchName]: 完成开发新特性, 合并 MYFEATURE 分支到 'develop', 删除这个新特性分支, 切换回 'develop' 分支。

  • git flow feature publish [featureBranchName]:发布新特性分支到远程服务器,也可以使用git的push命令

  • git flow feature pull origin [featureBranchName]:取得其它用户发布的新特性分支,并签出远程的变更。也可以使用git的pull命令

  • git flow feature track [featureBranchName]:跟踪在origin上的feature分支。

  • git flow release start [releaseBranchName]:开始准备release版本,从 'develop' 分支开始创建一个 release 分支。

  • git flow release publish [releaseBranchName]:创建 release 分支之后立即发布允许其它用户向这个 release 分支提交内容。

  • git flow release track [releaseBranchName]:签出 release 版本的远程变更。

  • git flow release finish [releaseBranchName]:归并 release 分支到 'master' 分支,用 release 分支名打 Tag,归并 release 分支到 'develop',移除 release 分支。

  • git flow hotfix start [hotfixBranchName]:开始 git flow 紧急修复,从master上建立hotfix分支。

  • git flow hotfix finish [hotfixBranchName]:结束 git flow 紧急修复,代码归并回 develop 和 master 分支。相应地,master 分支打上修正版本的 TAG。

你可能感兴趣的:(Git Flow工作流)