开源项目 Spartacus 的 git 分支使用规范

时间:2022-12-29 14:02:03

Spartacus 开源项目里存在如下的 git 分支:

  • feature/GH-xxxx 分支用于简单的功能和错误修复
  • epic/epic-name 分支用于大功能的开发
  • release/1.4.0-rc.0 分支用于特定的发布(你可以将它们与维护分支区分开来,因为包含了完整的版本号)

Epic 开发流程

以下是使用 epic 的步骤:

  • 从 develop 分支创建一个新的 epic/epic-name 分支。
  • 从 epic/epic-name 为 epic 子任务创建分支,并将它们合并回 epic/epic-name 分支。
  • 在开发过程中刻意地用开发分支的更改更新 epic 分支,这将帮助你管理冲突。
  • 当 epic 开发完成后,创建一个 PR 并将 epic 分支合并到开发分支。

下图是 Spartacus 里一个 epic 分支的例子:

开源项目 Spartacus 的 git 分支使用规范

小功能的开发流程

  • 从 develop 分支创建一个新的 feature/GH-xxxx 分支。
  • 开发你的功能。
  • 完成后,创建一个 PR 并将 feature/GH-xxxx 分支合并到 develop 分支。

下面是这种分支的一个例子: 开源项目 Spartacus 的 git 分支使用规范

以下是我们目前使用的一些术语:

  • 功能冻结: Feature freeze: 描述了我们完成了新的次要或主要版本的所有功能的时刻(这意味着我们希望很快发布 rc,但仍需要修复一些错误)。

  • 代码冻结: Code Freeze: 描述了我们停止提交代码的时刻(尽管我们的流程不需要这样做,因为我们总是可以切断发布或维护分支并继续提交)。

我们可以创建一个新的维护分支并发布一个新的 rc,而不是冻结功能。 第一个 RC 可能有 bug,因为 rc 版本可能包含 bug 是公认的。

我们可以创建一个新的发布分支,而不是冻结代码。 我们永远不需要阻塞主要的开发或维护分支(我们不需要用这些细节来打扰开发人员,因为我们的流程支持在这些分支上并发工作并发布另一个版本)。