5种 Git workflow 简介

相信任何一个开发人员在看到冲突消息时都会沮丧地撕扯头发。试图解决合并冲突是每个开发人员都讨厌的事情,特别是当准备进行生产部署时。而这就是正确的git workflow可以解决的问题。当然,正确的git workflow不能解决所有问题。但这是朝着正确方向迈出的一步。

如何设置git workflow取决于项目、团队的发布时间表、以及团队的规模等, 本文将带你了解5种不同的git workflow、它们的优缺点以及应该在什么时候使用它们。

1. 基本的Git Workflow

基本的Git workflow
最基本的git workflow只有一个分支——master分支。在这个workflow中,所有提交都被直接添加到mastser分支,并部署到staging环境和生产环境中。

除非这是一个小项目,并且你想快速上手, 否则不推荐使用这种workflow:

  • 团队协作时会有很多冲突
  • 将Bug提交到master的的几率变高
  • 很难维护一套干净的代码
2. Git 特性分支 WorkflowGit 特性分支 Workflow

Git 特性分支 Workflow适用于多个开发人员协作的情况。假设有一个开发人员正在开发一个新特性,另一个开发人员正在开发第二个特性。如果两个开发人员都在同一个分支工作,并向他们添加提交,这将使代码库变得非常混乱,并产生大量冲突。

为了避免这种情况,这两个开发人员可以从master分支中创建两个独立的分支,完成了自己开发的特性后,就可以将各自的分支合并到master分支,并且无需等待其他特性完成就可以进行部署。

3. Git dev+特性分支 Workflow

这种workflow是开发团队中比较流行的workflow之一。它类似于Git特性分支workflow,但多一个dev分支,该分支是并行添加到master分支的。
在这个workflow中,master分支的代码总是用于部署生产环境。dev分支反映了下一个版本最新交付的开发变更的状态。开发人员从dev分支创建分支,并开发新特性。一旦特性的开发完成,就对它进行测试,然后与dev分支合并,同dev分支的合并的代码一起进行测试,以防重复合并。
Git dev+特性分支 Workflow

4. Gitflow Workflow

Gitflow Workflow 与我们之前介绍的其他workflow也非常相似, 它分为

热修复(hot-fix)分支
热修复分支是唯一从master分支创建并直接合并到master分支而不是dev分支的分支。它仅在必须快速修复生产问题时使用。这个分支的优点是,它允许快速修复生产环境的问题,而不需要等待下一个发布周期。
一旦热修复合并到master分支并部署,它也应该被合并到dev分支和当前的release分支。这样做是为了确保那些fork分支的开发者也可以更新最新的代码。

版本(release)分支

版本分支是在dev分支将所有为发布而开发的特性成功地合并到其中之后从dev分支派生出来的。
只有与此版本相关的代码才会添加到发布分支中,与新特性相关的其他代码则不会添加到版本分支中。
一旦这个分支与master分支合并并部署到生产环境中,也要将它合并到dev分支中,这样当一个新特性从dev分支中派生出来时,它就会使用最新的代码。
在这里插入图片描述

在Windows上安装使用这个workflow, 只需要在项目中运行git flow init。

5. Git 分叉(fork)Workflow

分叉workflow在开源软件的团队中非常流行。
流程如下:

  1. 首先 fork 官方库, 创建一个官方仓库的副本
  2. 然后开发人员将库clone到本地环境
  3. 官方库的远程路径添加到本地repo中
  4. 开发人员在本地创建新特性分支,进行更改并提交。
  5. 这些更改连同分支一起推送到官方库的副本中
  6. 请求push到官方库
  7. 官方库的管理员检查更改, 同意将更改合并到官方库。


  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Git workflow 是指在使用 Git 版本控制时,团队协作开发时所采用的工作流程。常见的 Git workflow 包括集中式工作流、功能分支工作流、Gitflow 工作流、Forking 工作流等。 1. 集中式工作流(Centralized Workflow):团队成员直接在主分支(通常是 master 或 main)上进行开发,每个开发者都有自己的本地分支,完成开发后将本地分支合并到主分支中。 2. 功能分支工作流(Feature Branch Workflow):每个功能或任务都在独立的分支上进行开发,开发完成后合并到主分支。这工作流程使得团队成员可以并行开发多个功能,减少代码冲突。 3. Gitflow 工作流:Gitflow 是一在功能分支工作流基础上扩展出的工作流程,主要区别是引入了额外的分支来管理特性开发、发布和维护等不同阶段。它包括主分支(master 或 main)、开发分支(develop)、特性分支(feature)、发布分支(release)、修复分支(hotfix)等。 4. Forking 工作流:适用于开源项目,每个贡献者通过 Fork 项目得到自己的独立仓库,在自己的仓库中进行开发,然后通过 Pull Request 将修改提交给原项目。原项目的维护者可以审查和合并这些提交。 这些只是一些常见的 Git workflow,实际上还有很多其他的变和组合。选择适合团队的工作流程取决于项目的规模、团队的协作方式和开发流程等因素。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值