Skip to main content

堆积拉取请求

堆栈拉取请求如何运行 GitHub的规则和要求。

注意

此功能以公共预览版提供,可能会发生更改。

堆栈是同一存储库中的一系列拉取请求,每个拉取请求都面向其下方的拉取请求的分支,形成位于单个分支(通常是主分支)上的有序链。 获取一组较小的拉取请求,而不是一个大型拉取请求。 由于每个拉取请求都有自己的重点差异,因此团队成员可以独立评审和批准每个层。

堆栈中的每个拉取请求都会根据 堆栈的基 数(通常 main )的规则进行评估,而不管它直接面向哪个分支。 这意味着,中堆栈拉取请求与底部拉取请求具有相同的标准。

注意

  • 堆积拉取请求要求所有分支都位于同一存储库中。 不支持跨分支堆栈。
  • 不支持堆叠拉取请求 GitHub Desktop。

堆积拉取请求可用性

gh stackGitHub CLI 扩展处理本地开发工作流。 它按正确的依赖项顺序创建和跟踪分支,使分支保持基数,推送分支,创建和链接拉取请求,并在层之间导航。

GitHub CLI 不是必需的。 基础 Git 操作是标准的,你可以改为从 GitHub 网站创建堆栈。

如果使用 Jujutsu 或 Sapling 等其他工具来管理和推送本地分支,仍 GitHub CLI 可使用或 GitHub 网站从这些分支打开拉取请求堆栈。 请参阅“将其他工具与堆叠式拉取请求配合使用”。

堆积拉取请求的中继

堆栈的 中继 是底部拉取请求的基分支。 堆栈中的所有其他拉取请求都基于它构建。 中继默认为存储库的默认分支,例如 main,可以是任何分支,例如发布分支或长期功能分支。

设置中继:

  • 发件人 GitHub CLI--base BRANCH 选项传递给 gh stack init 命令(例如, gh stack init --base release auth-layer)。
  • GitHub从网站根据要作为中继的任何分支创建底部拉取请求。 堆栈的其余部分构建在堆栈的顶部。

分支保护规则、所需的检查和 CI 均根据堆栈目标的任何中继进行评估,而不仅仅是针对默认分支。

分支保护和所需检查

以下是所有计算结果,就像每个拉取请求面向堆栈基,而不是它正下方的分支:

规则评估方式
必要的审查根据堆栈基数计算。
必需状态检查根据堆栈基数计算。