Git-Flow简介

  • 什么是 Git Flow
    一旦安装安装 git-flow,你将会拥有一些扩展命令。这些命令会在一个预定义的顺序下自动执行多个操作。

  • 为什么要使用 Git Flow
    当在团队开发中使用版本控制系统时,商定一个统一的工作流程是至关重要的。Git 的确可以在各个方面做很多事情,然而,如果在你的团队中还没有能形成一个特定有效的工作流程,那么混乱就将是不可避免的。
    基本上你可以定义一个完全适合你自己项目的工作流程,或者使用一个别人定义好的。
    推荐使用目前流行的工作流程引擎:git-flow。

  • 初始化
    当在项目的根目录执行 “git flow init” 命令时(它是否已经包括了一个 Git 仓库并不重要),一个交互式安装助手将引导您完成这个初始化操作。听起来是不是有点炫,但实际上它只是在你的分支上配置了一些命名规则。
    尽管如此,这个安装助手还是允许你使用自己喜欢的名字。我强烈建议你使用默认的命名机制,并且一步一步地确定下去。

      $ git flow init 
      Initialized empty Git repository in /Users/lishaojie/acme-website/.git/ 
      Branch name for production releases: [master] 
      Branch name for "next release" development: [develop]
    
      How to name your supporting branch prefixes? 
      Feature branches? [feature/] Release branches? [release/] 
      Hotfix branches? [hotfix/]
  • 一些命令

    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。
作者:Wolf  创建时间:2022-11-19 11:33
最后编辑:Wolf  更新时间:2023-11-27 23:47