是否有 git 工作流程来描述这种情况?

Is there a git workflow to describe this scenario?

目前在两个分支机构工作:develop

功能分支是从开发创建的,当更改完成时,功能分支然后合并回开发。

目前,我们正在进行一项名为 u1 的重要更新,该更新将在 3 个月内完成。同时,我们需要为当前版本提供与 u1 无关的其他功能和修补程序。

为完成此更改,我建议如下:

从 develop 创建一个新分支,它将只包含 u1 的功能。所有与 u1 相关的功能都将添加到 u1 分支。继续创建修补程序等,开发中的功能分支并将修补程序合并到开发中。在 u1 功能完成的某个时候,将 u1 分支合并到 develop(其中包含前面描述的修补程序)。此 git 策略是否有名称,是否有管理此 git 工作流的替代方法?

我遇到的一般做法包括以下规则:

  • 有一个master分支,相当于生产中的代码
  • 有一个develop分支,用于暂存和测试特性分支
  • master
  • 创建了一个功能分支
  • 当功能分支准备好进行测试时,将其合并到 develop
  • 如果功能分支的测试不成功,那么return到它
  • 如果功能分支的测试成功,那么在部署之前,将其合并到master
  • 就在部署之前,您对 master 进行了冒烟测试,也就是说,您测试了所有实际可能出错的内容以及至关重要的功能
  • 如果冒烟测试失败,请确定导致问题的原因并清理 master 并仅合并未造成问题的特征
  • 如果冒烟测试成功,部署
  • 修补程序分支从 master 分支出来,并在完成后合并到 master
  • 如果有史诗般的功能分支,就像您所描述的那样,则将其组织成可分割的 sub-tasks
  • 每个子任务都是从史诗功能分支分支出来的任务分支
  • 完成子任务后,将其合并到您的史诗功能分支中
  • 在将史诗功能分支合并到 develop 之前冒烟测试它,然后冒烟测试 develop
  • 永远不要将 develop 合并到 master,因为 develop 可能包含未经测试的功能
  • 每当发生部署时,将 master 合并到 develop 以及您的史诗功能分支中