Defining the mergeability of pull requests
You can require pull requests to pass a set of checks before they can be merged. For example, you can block pull requests that don't pass status checks or require that pull requests have a specific number of approving reviews before they can be merged.
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.
About protected branches→
Protected branches ensure that collaborators on your repository cannot make irrevocable changes to branches. Enabling protected branches also allows you to enable other optional checks and requirements, like required status checks and required reviews.
Configuring protected branches→
If you're a repository owner or have admin permissions in a repository, you can customize branch protections in the repository and enforce certain workflows, such as requiring more than one pull request review or requiring certain status checks to pass before allowing a pull request to merge.
About required status checks→
Required status checks ensure that all required CI tests are passing before collaborators can make changes to a protected branch.
Types of required status checks→
You can set up required status checks to either be "loose" or "strict." The type of required status check you choose determines whether your branch is required to be up to date with the base branch before merging.
Enabling required status checks→
Repository administrators can 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.
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.
Enabling branch restrictions→
You can enforce branch restrictions so that only certain users, teams, or apps can push to a protected branch in repositories owned by your organization.
About required reviews for pull requests→
Required reviews ensure that pull requests have a specific number of approving reviews before collaborators can make changes to a protected branch.
Enabling required reviews for pull requests→
Repository administrators can enforce required reviews so that pull requests must have a specific number of approving reviews before they are merged.
About required commit signing→
Required commit signing ensures that collaborators can only push verified signed commits to a protected branch.
Enabling required commit signing→
Repository administrators can enforce required commit signing on a branch to block all commits that are not signed and verified.
Requiring a linear commit history→
You can require a linear commit history to block all merge commits from a protected branch.
Enabling force pushes to a protected branch→
You can allow force pushes to a protected branch.
Enabling deletion of a protected branch→
You can allow anyone with write access for a repository to delete a protected branch.