GitHub merge queue is generally available

Supercharge pull request merges on your busiest branches by enabling your team to queue.

|
| 4 minutes

General availability of GitHub’s merge queue means good-bye to traffic jams on your team’s busiest branches. No more rushing to merge your pull requests before someone else merges theirs 🥵. Turn on GitHub’s merge queue today and accelerate your merge velocity 🚀.

Any team that is part of a managed organization with public repositories and GitHub Enterprise Cloud users will be able to enable this feature on their respective repository and start streamlining their team’s pull requests immediately. If this describes you, then let the commit parties commence 🎉.

Introducing merge queue: our newest feature to improve team velocity

Collaborative coding is powerful. But to be at your team’s most optimized state, you need automated branch management that enables multiple developers to commit code on a daily basis, without frustration. This can happen if your team’s branch is busy with many team members onboarding the same commit onramp. This can be frustrating for your team, but, more importantly, it gets in the way of shipping velocity.  We don’t want that journey for you!

This is why we built merge queue. We’ve reduced the tension between branch stability and velocity. Merge queue takes care of making sure your pull request is compatible with other changes ahead of it and alerting you if something goes wrong. The result: your team can focus on the good stuff—write, submit, and commit.  No tool sprawls here. This flow is still in the same place with the enablement of a modified merge button because GitHub remains your one-stop-shop for an integrated, enterprise-ready platform with the industry’s best collaboration tools.

How does merge queue work?

Merge queue is designed for high-performance teams where multiple users regularly commit to a single branch. Prior to merge queue, engineers would need to attempt to merge directly onto an already busy branch—potentially running into code conflicts, and then spiraling into a cycle of rework.

With GitHub’s merge queue, a temporary branch is created that contains:

  • The latest changes from the base branch
  • The changes from other pull requests already in the queue
  • The changes from your pull request

CI then starts, with the expectation that all required status checks must pass before the branch (and the pull requests it represents) are merged. Merge queue is the ultimate branch traffic controller.

We’re thrilled that Block, one of our enterprise customers, has been unlocking the magic of this streamlined workflow–queue-then-next-play.

We would routinely experience post-merge build failures in our monorepo several times a week and merge queue has practically eliminated all build failures in that category. This has greatly reduced our on-call burden and lessened the friction our developers’ experience during their daily workflows.

- Jon Graves, Engineering Manager at Block Inc

Get started now with merge queue

Enhance your team’s performance and speed by enabling this new branch protection.

As a repository administrator:

  • For your target branch, enable the branch protection setting, “Require merge queue.”
  • Set your preferences for the merge queue: merge method, build on currency, merge limits, only merge non-failing pull requests, status check timeout.

As an engineer:

  • Open the pull request to be added to the queue, click ‘Merge when ready’.

  • To view the merge queue, from the branches page for the repository, click on the ‘pull requests queued to merge’ link.

This is an example of how the new merge queue feature will look like for engineers working in GitHub.

If a merge fails, the pull request will be removed from the queue and a notification sent to the author of the pull request to check. For more information about how to access and set up the merge queue for a branch in your repository, check out our docs.

Get started now by enabling this new branch protection for your team with GitHub merge queue. It’s your team’s path to less branch traffic jams and more time where it matters–efficient collaboration for more coding!

Related posts