Skip to main content

Merging a pull request with a merge queue

Use merge queues in GitHub to streamline pull request merging, ensure required checks pass, and manage queue operations effectively.

谁可以使用此功能?

拉取请求合并队列在组织拥有的任何公共存储库中均处于可用状态,或在使用 GitHub Enterprise Cloud 的组织拥有的专用存储库中处于可用状态。 有关详细信息,请参阅 GitHub的计划

Tool navigation

About merge queues

A merge queue helps merge pull requests into a busy protected branch after required checks pass. See 管理合并队列.

Adding a pull request to a merge queue

注意

You can use GitHub CLI to add a pull request to a merge queue. For more information, click the "GitHub CLI" tab at the top of this article.

  1. 在 GitHub 上,导航到存储库的主页面。

  2. 在仓库名称下,单击 “Pull requests”****。

    存储库的主页的屏幕截图。 在水平导航栏中,标记为“拉取请求”的选项卡以深橙色标出。

  3. In the "Pull Requests" list, click the pull request you want to add to a merge queue.

  4. Click Merge when ready to add the pull request to the merge queue. Alternatively, if you are an administrator, you can:

    • Directly merge the pull request by checking Merge without waiting for requirements to be met (bypass branch protections), if allowed by branch protection settings, and follow the standard flow.

    Screenshot of the merge queue options for a pull request.

    注意

    You can click Merge when ready before all requirements pass. GitHub adds the pull request to the queue when requirements are met.

  5. Confirm you want to add the pull request to the merge queue by clicking Confirm merge when ready.

With GitHub CLI, use the gh pr merge command to add a pull request to a merge queue. If you are targeting a branch that requires a merge queue, this command automatically adds the pull request to the queue if required checks have passed. If required checks have not passed, this command enables auto-merge for the pull request. See gh pr merge in the GitHub CLI manual.

Removing a pull request from a merge queue

To remove a pull request from a merge queue, you must navigate to the repository's page on GitHub.com. You cannot use GitHub CLI to remove a pull request from a merge queue.

  1. 在 GitHub 上,导航到存储库的主页面。

  2. 在仓库名称下,单击 “Pull requests”****。

    存储库的主页的屏幕截图。 在水平导航栏中,标记为“拉取请求”的选项卡以深橙色标出。

  3. In the "Pull Requests" list, click the pull request you want to remove from a merge queue.

  4. To remove the pull request from the queue, click Remove from queue.

    Screenshot of the merge queue message at the bottom of a pull request. The "Remove from queue" button is outlined in dark orange.

Alternatively, you can navigate to the merge queue page for the base branch, click ... next to the pull request you want to remove, and select Remove from queue. For information about getting to the merge queue page for the base branch, see the section below.

Viewing merge queues

You can view the merge queue for a base branch in various places on GitHub. You cannot use GitHub CLI to view a merge queue.

You can view the merge queue for a base branch in various places on GitHub.

  • On the Branches page for the repository. We recommend this route if you don't have or don't know about a pull request already in a queue, and if you want to see what's in that queue. See 查看仓库中的分支.

    Screenshot of the "Branches" page for a repository. A link, labeled "33 pull requests queued to merge," is outlined in dark orange.

  • On the pull request page, when a merge queue is required for merging, scroll to the bottom of the timeline and click the merge queue link.

    Screenshot of the merge queue message at the bottom of a pull request. The "merge queue" link is outlined in dark orange.

  • The merge queue view shows the pull requests that are currently in the queue, with your pull requests clearly marked.

    Screenshot of the merge queue for a repository.

Understanding why your pull request was removed from the merge queue

A pull request can be removed from the merge queue if it no longer meets merge requirements or if a queue check fails.

从合并队列中删除拉取请求的原因有很多:

  • 配置的 CI 服务报告合并组的测试失败
  • 根据配置的超时设置,等待成功 CI 结果超时
  • 用户通过 API 或合并队列接口请求删除
  • 无法自动解决的分支保护失败