注意
此功能以公共预览版提供,可能会发生更改。
堆栈是同一存储库中的一系列拉取请求,每个拉取请求都面向其下方的拉取请求的分支,形成位于单个分支(通常是主分支)上的有序链。 获取一组较小的拉取请求,而不是一个大型拉取请求。 由于每个拉取请求都有自己的重点差异,因此团队成员可以独立评审和批准每个层。
堆栈中的每个拉取请求都会根据 堆栈的基 数(通常 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 均根据堆栈目标的任何中继进行评估,而不仅仅是针对默认分支。
分支保护和所需检查
以下是所有计算结果,就像每个拉取请求面向堆栈基,而不是它正下方的分支:
| 规则 | 评估方式 |
|---|---|
| 必要的审查 | 根据堆栈基数计算。 |
| 必需状态检查 | 根据堆栈基数计算。 |