关于合并队列
合并队列通过自动将拉取请求合并到繁忙的分支并确保分支永远不会因不兼容的更改而中断来帮助提高速度。
合并队列提供与**合并前要求分支是最新的**分支保护相同的好处,但不要求拉取请求作者更新其拉取请求分支并在尝试合并之前等待状态检查完成。
在每天从许多不同用户合并大量拉取请求的分支上,使用合并队列特别有用。
一旦拉取请求通过了所有必需的分支保护检查,具有对存储库的写入访问权限的用户就可以将拉取请求添加到队列中。合并队列将确保拉取请求的更改在应用于目标分支的最新版本以及队列中已有的任何拉取请求时通过所有必需的状态检查。
合并队列可以使用 GitHub Actions 或您自己的 CI 提供程序来对拉取请求运行所需的检查。有关更多信息,请参阅“GitHub Actions 文档”。有关合并队列的更多信息,请参阅“管理合并队列”。
将拉取请求添加到合并队列
注意
您可以使用 GitHub CLI 将拉取请求添加到合并队列。有关更多信息,请点击本文顶部的“GitHub CLI”选项卡。
-
在 GitHub 上,导航到仓库的主页。
-
在您的仓库名称下,点击 拉取请求.
-
在“拉取请求”列表中,点击您要添加到合并队列的拉取请求。
-
点击准备合并将拉取请求添加到合并队列。或者,如果您是管理员,您可以
- 通过选中合并而不等待满足要求(绕过分支保护)直接合并拉取请求(如果分支保护设置允许),并遵循标准流程。
注意
当您准备好合并建议的更改时,可以点击准备合并。一旦满足所需的批准和状态检查条件,GitHub 将自动将拉取请求添加到合并队列。
-
点击确认准备合并确认您要将拉取请求添加到合并队列。
使用 GitHub CLI,您可以使用gh pr merge
命令将拉取请求添加到合并队列。如果您要的目标分支需要合并队列,则此命令会在满足所需检查后自动将拉取请求添加到队列。如果未通过所需的检查,则此命令将为拉取请求启用自动合并。有关更多信息,请参阅 GitHub CLI 手册中的gh pr merge
。
从合并队列中移除拉取请求
要从合并队列中移除拉取请求,您必须导航到 GitHub.com 上的仓库页面。您无法使用 GitHub CLI 从合并队列中移除拉取请求。
-
在 GitHub 上,导航到仓库的主页。
-
在您的仓库名称下,点击 拉取请求.
-
在“拉取请求”列表中,点击您要从合并队列中移除的拉取请求。
-
要从队列中移除拉取请求,请点击从队列中移除。
或者,您可以导航到基分支的合并队列页面,点击要移除的拉取请求旁边的...,然后选择从队列中移除。有关如何访问基分支的合并队列页面的信息,请参阅下面的部分。
查看合并队列
您可以在 GitHub 上的多个位置查看基分支的合并队列。您无法使用 GitHub CLI 查看合并队列。
您可以在 GitHub 上的多个位置查看基分支的合并队列。
-
在仓库的分支页面上。如果您没有或不知道已在队列中的拉取请求,并且想要查看队列中的内容,我们建议您使用此方法。有关更多信息,请参阅“查看仓库中的分支”。
-
在需要合并队列才能合并的拉取请求页面上,滚动到时间轴底部,然后点击合并队列链接。
-
合并队列视图显示当前在队列中的拉取请求,并清楚地标记您的拉取请求。
了解拉取请求为何从合并队列中移除
在将拉取请求与目标分支的最新版本和队列中它之前的更改分组后,如果存在失败的必需状态检查或与基分支的冲突,则拉取请求将从队列中移除。拉取请求时间轴将显示拉取请求从队列中移除的原因。
拉取请求可能因多种原因从合并队列中移除
- 配置的 CI 服务报告合并组的测试失败
- 根据配置的超时设置,等待成功的 CI 结果超时
- 用户通过 API 或合并队列界面请求移除
- 无法自动解决的分支保护失败