gitflow工作流用文字详细描述

项目中是使用 GitFlow工作流程吗?gitflow工作流用文字详细描述是指什么?它有什么好处呢?

GitFlow可以用来管理分支。GitFlow工作流中常用的分支有:
(1)master:通常作为发布上线完成后的归档分支。即代码开发完成,经过测试没有bug,上线发布部署完成,才能把代码归档合并到 master 中。应该注意永远不要在 master 分支上直接进行开发和提交代码,以确保 master 上的代码一直可用,不受污染;
(2)develop:用作平时开发的主分支。一直存在且是功能最新最全的分支,包含所有要发布 到下一个 release分支 的代码,主要用于合并其他dev-xxx 成员私有开发分支; 如果修改代码,从dev 切出feature 分支修改完再合并到 develop 分支;
(3)feature:这个分支主要是用来开发新的功能,由开发成员私有,可以存在多个,一旦开发完成,通过自测后合并回develop 分支;
(4)release:用于发布准备的专门分支,也称版本提测后,测试环境的分支。当开发进行到一定程度,可以提测到测试环境时,建立一个 release 分支并指定版本号。测试和开发人员分别对 release 分支上的代码进行集中测试和修改bug。版本功能全部完成经过测试没有问题后,将 release 分支上的代码合并到 master 分支和 develop 分支;
(5)hotfix:用于修复线上代码的bug。必须从 master 分支上拉,完成 hotfix 后,打上 tag 我们合并回 master 和 develop 分支。

GitFlow顾名思义,是git的工作流程。你记住,凡是有flow一类的东西,都是大组织、大项目用的,规模小了你不但感觉不到好处,只会觉得麻烦。

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你看下这篇博客吧, 应该有用👉 :gitflow工作流
  • 除此之外, 这篇博客: gitflow介绍中的 gitflow流程描述 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    首先在我们项目中有两条并行的分支,也就是master分支和develop分支,这两分支永远是代码同步的状态,也就是说,当任意一条分支发生改变时,另一条分支也要跟着改变.其中master分支部署于生产环境,develop分支用于开发
    在这里插入图片描述

    如图,develop为开发分支,master为主分支,同步于develop,部署在生产环境中

    接下来说说develop作为开发分支,程序员们在合作开发过程中是如何去使用的,也引出来要介绍的feature分支
    在这里插入图片描述

    如图,假设在当前项目中,需要开发两个模块,所以基于develop分支打下来两个feature分支(feature分支为功能分支),因为模块1功能点较多,所以程序员小王和小李两个人去开发模块1;模块2功能点较少,所以程序员小张一个人去开发模块2.

    在开发模块1时,因为两个人同步开发,所以应当基于feature/order_upgrate_cy_dev打子分支,两人在各自的子分支下进行开发,当开发完毕后,再从各自的子分支合并到feature/order_upgrate_cy_dev这个分支下,当两人都已合并完成后,先拉下develop最新代码(因为模块2可能已经开发完毕并合并到develop下了),然后就可以把分支feature/order_upgrate_cy_dev合并到develop下了,当然在此之前如果能进行代码review能好.

    开发模块2同理

    在模块1和模块2都开发完成并合并到develop下以后,就要来到第三步了,也就是要介绍的relese分支
    在这里插入图片描述

    如图,为release分支,由版本号命名,其作用主要为上线前的准备,包括测试和app质量检测.之前在开发过程中,程序员都会进行单元测试,至少保证了功能实现,但是还要考虑别的因素就需要集成测试,系统测试,验收测试,回归测试了,如果该软件活跃用户较高,还需要压力测试.下面说下release分支的流程,我们从develop分支下打一个release分支下来,命名跟着上一个版本号走,例如上一个版本是v0.1,那么该版本就命名就为v0.2(注意release分支为app大版本的迭代),接下来我们需要把release分支交给测试和质量检测部门去做测试相关的工作,若测试有问题,则程序员需要在release分支下进行代码修改,然后再交由测试,直至测试没问题为止,当测试通过后,就到了上线环节了,我们需要把release分支同时合并到master分支和develop分支下并打上标记,然后线上跑的是master,这一个版本迭代就实现了.

    大家可能会有些疑问,之前说的五种分支,还有一种没有涉及到,就已经完成版本迭代了,hotfix分支是干嘛的呢?
    在这里插入图片描述

    如图,为hotfix分支,其主要目的是线上bug修改,小功能的修改.在软件开发过程中难免会有bug或者新增一个字段这种小需求,作为一个大版本就解决这些小问题是有些合理的,而且bug需要尽快修复不可能去等下一个版本迭代再去修改,这时候我们的hotfix分支就派上用场了.下面说下hotfix主要流程,我们需要先切到master分支,然后在master分支下新建一个hotfix分支,命名规则为在当前release版本号后面写小版本号,例如: 当前的release分支为v0.2,则hotfix分支名为v0.2.1,下个hotfix分支名为v0.2.2,之后就是在hotfix下进行bug修复了,修改完毕后再推到master和develop并打标记,bug就修复成功了

  • 以下回答来自chatgpt:

    回答:

    关于GitFlow工作流的详细信息:

    GitFlow是一种为Git版本控制系统设计的软件开发工作流程。它是由Vincent Driessen于2010年所提出的一个成功的Git使用方法和模型。

    并非所有的项目都使用GitFlow工作流程,但是它在许多项目中被广泛使用。

    GitFlow工作流的流程和步骤:

    1.分支 GitFlow工作流程中有两种主要的分支类型:长期分支 (master) 和开发分支 (develop)。Master分支存储了稳定版本的代码,develop分支是所有开发的起点。

    2.功能分支 从develop分支开始,为实现某项特性或功能创建一个新的分支 (feature)。该分支只包含你需要实现该特性的代码更改。

    3.发布分支 当你准备好发布一个可供公众使用的版本时,从develop分支上创建一个新分支 (release)。在此期间,你应该仅限于对现有代码的一些小修改,如修复bug等。运行所有必要的测试之后,发布分支会合并回主分支和开发分支,以确保该版本的代码始终公开并可以随时恢复。

    4.修补分支 如果你需要紧急修复生产环境中发现的bug,你可以从master分支创建一个修补分支 (hotfix),并在那里修复bug。发布后,该分支会合并回主分支和开发分支。

    5.合并 将feature、release、hotfix合并回develop、master分支后,必须在主分支中打上一个标签 (tag),以标志着一个新版本的发布。

    为什么该工作流程会被广泛使用?

    GitFlow 工作流程具有清晰的分支模型和定义,使团队能够专注于特定的任务或特性,而不会干扰到主要的开发进程。另外,由于该流程将大大小小的更改相互隔离,因此可以避免对代码库的更改崩溃和事件爆发。最终,使用 GitFlow 可以保证项目的稳定性和可维护性。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^