You can create a branch rule in a repository for a specific branch, all branches, or any branch that matches a naming pattern specified with the fnmatch syntax. For example, to require any branch containing the word release
to have at least two pull request reviews before merging, you can create a branch rule for *release*
.
You can also set up automatic branch protection for all branches in your repository with the wildcard syntax *
. Because GitHub uses the File::FNM_PATHNAME
flag for the File.fnmatch
syntax, the wildcard does not match directory separators (/
). For example, qa/*
will match all branches beginning with qa/
and containing a single slash. You can include multiple slashes with qa/**/*
, and you can extend the qa
string with qa**/**/*
to make it more inclusive. For more information about syntax options for branch rules, see the fnmatch documentation.
To create an exception to an existing branch rule, you can create a new branch protection rule that is higher priority, such as a branch rule for a specific branch name. For more information about the priority order and other settings for protected branch rules, see "About protected branches."
Note: To create a branch rule, the branch you specify doesn't have to exist yet in the repository.
- On GitHub Enterprise Server, navigate to the main page of the repository.
- Under your repository name, click Settings.
- In the left menu, click Branches.
- Next to "Branch protection rules", click Add rule.
- Under "Branch name pattern", type the branch name or pattern you want to protect.
- Optionally, you can configure specific branch rule settings.
- To confirm your branch protection rule, click Create or Save changes.