Skip to main content

管理合并队列

可以通过在存储库中为拉取请求启用合并队列来加快开发速度。

Who can use this feature

People with admin permissions can manage merge queues for pull requests targeting selected branches of a repository.

注意:拉取请求合并队列功能目前处于有限公测阶段,可能会发生更改。

关于合并队列

合并队列可以提升拉取请求合并到繁忙的目标分支的速度,同时确保所有必需的分支保护检查都通过。

拉取请求通过所有必需的分支保护检查后,对存储库具有写入访问权限的用户可以将该拉取请求添加到合并队列。

合并队列可以使用 GitHub Actions。 有关详细信息,请参阅“GitHub Actions”。

合并队列创建具有特殊前缀的临时分支来验证拉取请求更改。 然后,使用最新版本的 base_branch 将拉取请求中的更改分组到 merge_group,与队列中位于其之前的更改一样。 一旦 base_branch 的分支保护所需的检查通过,GitHub 会将所有这些更改合并到 base_branch 中。

有关合并方法的信息,请参阅“关于拉取请求合并”。

注意:

  • 在分支名称模式中使用通配符 (*) 的分支保护规则无法启用合并队列。

在将拉取请求与目标分支的最新版本分组并在队列中提前更改后,如果所需的状态检查失败或与基本分支冲突,GitHub 将从队列中删除拉取请求。 拉取请求时间线将显示从队列中删除拉取请求的原因。

通过 GitHub Actions 触发合并组检查

将拉取请求添加到合并队列时,可以使用 merge_group 事件触发 GitHub Actions 工作流。 请注意,这是与 pull_requestpush 事件不同的事件。

报告目标分支保护所需的检查的工作流如下所示:

on:
  pull_request:
  merge_group:

有关详细信息,请参阅“触发工作流的事件

通过其他 CI 提供程序触发合并组检查

使用其他 CI 提供程序时,可能需要更新 CI 配置,以在创建以特殊前缀 gh-readonly-queue/{base_branch} 开头的分支时运行。

管理合并队列

存储库管理员可以通过在基本分支的保护规则中启用分支保护设置“需要合并队列”来要求合并。

有关如何启用合并队列保护设置的信息,请参阅“管理分支保护规则”。

延伸阅读