《六》Git Flow

Git Flow 是一种 Git 工作流,通过为功能开发、发布准备和维护分别设立独立的分支,让发布迭代过程更流畅。

安装 Git Flow:

安装并初始化 Git Flow 后,Git 还是可以像之前一样工作,只是会拥有一些扩展命令,这些命令会在一个预定义的顺序下自动执行多个操作。

Git Flow 并不是要替代 Git,它仅仅是把标准的 Git 命令用脚本组合了起来。

  1. 安装 Git Flow:npm install git-flow
  2. 在项目的根目录下执行 git flow init 进行初始化,初始化后将默认存在 master 分支和 develop 分支。

Git Flow 中的分支:

主分支 master:

是自动建立的。该分支为只读唯一分支,只能从其他分支进行合并,不能在此分支上进行修改。所有提供给用户使用的正式版本,都在这个主分支上发布。

从 master 分支上可建立 develop 分支和 hotfix 分支,接收来自 release 分支和 hotfix 分支的合并。

补丁分支 hotfix:

基于 master 分支克隆而来。主要用于对线上的版本进行 BUG 修复。修补结束以后,再合并进 master 和 develop 分支。它的命名,可以采用 hotfix-* 的形式。

  1. 开始一个 hotfix:git flow hotfix start 分支名。这个命令会从 master 分支建立一个新的 hotfix 分支,并切换到 hotfix 分支上。
  2. 完成一个 hotfix:git flow hotfix finish 分支名。这个命令会将 hotfix 分支合并到 develop 和 master 分支中,并切换到 master 分支上,然后删除 hotfix 分支。
  3. 推送 hotfix 到远程仓库: git flow hotfix publish 分支名
  4. 删除 hotfix: git flow hotfix delete 分支名

开发分支 develop:

基于 master 分支克隆而来。该分支为只读唯一分支,只能用来合并其他分支。包含所有要发布到下一个 release 的代码。

从 develop 分支上可建立 feature 分支和 release 分支,接收来自 feature 分支、 release 分支和 hotfix 分支的合并。

功能分支 feature:

基于 develop 分支克隆而来。主要用于新需求新功能的开发。功能开发完毕后需要合并到 develop 分支。功能分支的名字,可以采用 feature-* 的形式命名。

  1. 开始一个 feature:git flow feature start 分支名。这个命令会从 develop 分支建立一个新的 feature 分支,并切换到 feature 分支上。
  2. 完成一个 feature:git flow feature finish 分支名。这个命令会将 feature 分支合并到 develop 分支中,并切换到 develop 分支上,然后删除 feature 分支。
  3. 推送 feature 到远程仓库: git flow feature publish 分支名
  4. 删除 feature: git flow feature delete 分支名

预发布分支 release:

基于 develop 分支克隆而来。主要用于提交给测试人员进行功能测试,测试过程中发现的 BUG 在本分支进行修复,修复完成后上线需要合并到 develop 和 master 分支。它的命名,可以采用 release-* 的形式。

  1. 开始一个 release:git flow release start 分支名。这个命令会从 develop 分支建立一个新的 release 分支,并切换到 release 分支上。
  2. 完成一个 release:git flow release finish 分支名。这个命令会将 release 分支合并到 develop 和 master 分支中,并切换到 master 分支上,然后删除 release 分支。
  3. 推送 release 到远程仓库: git flow release publish 分支名
  4. 删除 release: git flow release delete 分支名

常见的 Git Flow 工作流程:

  1. 初始化项目为 git flow,默认创建 master 分支。
  2. 从 master 分支上拉取一个 develop 分支作为主开发分支。
  3. 从 develop 分支上拉取 feature 分支进行功能开发,多个开发人员可以拉取多个 feature 同时进行并行开发,互不影响。
  4. feature 分支开发完成后,合并到 develop 分支。
  5. 从 develop 分支拉取一个 release 分支作为预发布分支;release 分支上发现 BUG,在本分支进行修复;通过测试后,合并 release 分支到 develop 和 master 分支。
  6. 上线之后如果发现 BUG,则从 master 分支上拉取 hotfix 分支进行 BUG 修改;hotfix 分支代码通过测试上线后,合并 hotfix 分支到 develop 和 master 分支。

请添加图片描述

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值