About branch restrictions

Branches within repositories that belong to organizations can be configured so that only certain users, teams, or apps can push to the branch.

Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server.

Branch restriction is a type of branch protection that's available for public and private repositories owned by organizations in GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server.

When you enable branch restrictions, only users, teams, or apps that have been given permission can push to the protected branch. For more information, see "Enabling branch restrictions" and "About protected branches." You can view and edit the users, teams, or apps with push access to a protected branch in the protected branch's settings.

You can only give push access to a protected branch to users, teams, or installed GitHub Apps with write access to a repository.

People and apps with admin permissions to a repository are always able to push to a protected branch.

Note: If "Include administrators" is selected, you've enabled required status checks on the branch, and if any status checks fail, any attempt to push changes to the protected branch will also fail, even for people and apps with admin permissions. For more information, see "Enabling required status checks."

Further reading

Did this doc help you?

Privacy policy

Help us make these docs great!

All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request.

Make a contribution

Or, learn how to contribute.