关于合并队列
合并队列通过自动将拉取请求合并到繁忙的分支并确保分支不会因不兼容的更改而中断来帮助提高速度。
合并队列提供与**合并前要求分支是最新的**分支保护相同的好处,但不要求拉取请求作者更新其拉取请求分支并在尝试合并之前等待状态检查完成。
在每天从许多不同用户合并大量拉取请求的分支上,使用合并队列特别有用。
一旦拉取请求通过所有必需的分支保护检查,具有存储库写入访问权限的用户就可以将拉取请求添加到队列。合并队列将确保拉取请求的更改在应用于目标分支的最新版本以及队列中已有的任何拉取请求时,通过所有必需的状态检查。
合并队列可以使用 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 或合并队列界面请求移除
- 无法自动解决的分支保护失败