Repository administrators can enable protected branches for limiting branch manipulation, as well as enforce required status checks before a branch is merged in a pull request or before commits on a local branch can be pushed to the protected remote branch.

Enabling a protected branch for a repository

  1. On GitHub Enterprise, navigate to the main page of the repository.

  2. Under your repository name, click Settings. Repository settings button

  3. In the left menu, click Branches. Repository options sub-menu

  4. Under Protected Branches, select the branch you want to mark protected using the drop-down menu. Selecting a protected branch drop-down menu

  5. Select Protect this branch.Protecting branch checkbox
  6. Click Save changes.

Types of required status checks

Type of required status check Setting Merge requirements Considerations
Strict The Require branches to be up-to-date before merging checkbox is checked. The branch must be up to date with the base branch before merging. This is the default behavior for required status checks. More builds may be required, as you'll need to bring the head branch up to date after other collaborators merge pull requests to the protected base branch.
Loose The Require branches to be up-to-date before merging checkbox is not checked. The branch does not have to be up to date with the base branch before merging. You'll have fewer required builds, as you won't need to bring the head branch up to date after other collaborators merge pull requests. Status checks may fail after you merge your branch if there are incompatible changes with the base branch.
Disabled The Require status checks to pass before merging checkbox is not checked. The branch has no merge restrictions. If required status checks aren't enabled, collaborators can merge the branch at any time, regardless of whether it is up to date with the base branch. This increases the possibility of incompatible changes.

Enabling required status checks

  1. On GitHub Enterprise, navigate to the main page of the repository.

  2. Under your repository name, click Settings. Repository settings button

  3. In the left menu, click Branches. Repository options sub-menu

  4. Under Protected Branches, select the branch you want to mark with a required status check using the drop-down menu. Selecting a protected branch drop-down menu

  5. Select Require status checks to pass before merging.Required status checks option
  6. From the list of available status checks, select the ones you want to make required.List of available status checks
  7. Optionally, select Include administrators. This enforces the required status checks on the repository administrators. Include administrators checkbox

  8. Optionally, deselect Require branches to be up to date before merging. If selected, this ensures that the branch is tested with the latest code on the base branch.Loose or strict required status checkbox

  9. Optionally, select Restrict who can push to this branch.Branch restriction checkbox
  10. Search for and select the people or teams who will have permission to push to the protected branch.Branch restriction search

  11. Click Save changes.

Tip: To successfully merge a pull request into a base branch that has required status checks enabled, the pull request's head branch must be up-to-date with the base branch.