Protected branches and required status checks

Image of Ben Bleikamp

It’s all too easy to force push to the wrong branch, overwriting someone else’s changes with your own. Sometimes it results in losing work (unless you know how to undo almost anything in Git).

Over the next few weeks we’ll be rolling out a new feature called Protected Branches which gives repository administrators the ability to disable force pushes to specific branches. When it’s enabled for your repositories you’ll be able to go to the Branches tab in repository settings and protect branches:

Repository Branches settings page

In addition to blocking force pushes, a protected branch can have required status checks. Required status checks make integrations that use our Status API enforceable and you can disable the merge button until they pass:

Pull Request merge area with required status checks

When using required status checks, your branch must be up-to-date to ensure your tests will pass after merging. The new “Update branch” button lets you merge the latest changes from the base branch of the Pull Request with one click.

Pull Request merge area with Update branch button

Join us at GitHub Universe

Our largest product and community conference is returning to the Palace of Fine Arts in San Francisco, November 13-14. Hear what's next for the GitHub platform, find inspiration for your next project, and connect with developers who are changing the world.

Get tickets

GitHub Actions now supports CI/CD

GitHub Actions makes it easier to automate how you build, test, and deploy your projects on any platform, including Linux, macOS, and Windows. Try out the beta before GitHub Actions is generally available on November 13.

Sign up for the beta