ブランチ保護ルールについて
リポジトリ内のブランチ保護ルールは、特定のブランチ、あるいはすべてのブランチやfnmatch
構文で指定した名前のパターンにマッチするブランチに対して作成できます。 たとえば、release
という語を含む任意のブランチを保護するには、ブランチルールを*release*
に対して作成できます。
ワイルドカード構文 *
で、リポジトリ内の現在および将来のブランチすべてに対するルールを作成できます。 GitHubは、File.fnmatch
構文に File::FNM_PATHNAME
フラグを使用するので、ワイルドカードはディレクトリの区切り文字 (/
) には一致しません。 たとえば、qa/*
は、qa/
で始まり、1 つのスラッシュが含まれるすべてのブランチにマッチします。 qa/**/*
とすると、複数のスラッシュにマッチします。また、より多くのブランチにマッチさせるため、qa
の文字列を qa**/**/*
とすることもできます。 ブランチのルールに関する構文オプションの詳しい情報については、 fnmatch ドキュメンテーションを参照してください。
リポジトリが同じブランチに影響する複数の保護されたブランチのルールを持っているなら、特定のブランチ名を含むルールがもっとも高い優先順位を持ちます。 同じ特定のブランチ名を参照する保護されたブランチのルールが複数あるなら、最初に作成されたブランチルールが高い優先順位を持ちます。
*
、?
、]
などの特殊文字を含む保護されたブランチのルールは、作成された順序で適用されるので、これらの文字を持つ古いルールが高い優先順位を持ちます。
既存のブランチのルールに例外を作成するため、特定のブランチ名に対するルールなど、優先度の高いブランチ保護ルールを新しく作成できます。
使用できるブランチ保護設定の各ルールに関する詳しい情報については、「保護されたブランチについて」を参照してください。
ブランチ保護ルールを作成する
ブランチのルールを作成する際に、指定したブランチがリポジトリにしている必要はありません。
- GitHub Enterprise Serverで、リポジトリのメインページにアクセスしてください。
- リポジトリ名の下で Settings(設定)をクリックしてください。
- 左のメニューでBranches(ブランチ)をクリックしてください。
- "Branch protection rules(ブランチ保護のルール)"の隣のAdd rule.(ルールの追加)をクリックしてください。
- "Branch name pattern(ブランチ名のパターン)"の下で、保護したいブランチの名前もしくはパターンを入力してください。
- 必要に応じて、Pull Requestレビュー必須を有効化します。
- [Protect matching branches] で、[Require pull request reviews before merging] を選択します。
- [Required approving reviews] ドロップダウンメニューをクリックし、ブランチで必須にする承認レビューの数を選択します。
- コードを変更するコミットがブランチにプッシュされたときにプルリクエストの承認レビューを却下する場合は、[Dismiss stale pull request approvals when new commits are pushed] を選択します。
- 指定されたオーナーのコードにプルリクエストが影響する場合に、コードオーナーからのレビューを必須にする場合は、[Require review from Code Owners] を選択します。 詳細は「コードオーナーについて」を参照してください。
- リポジトリが Organization の一部である場合、[Restrict who can dismiss pull request reviews] を選択します。 そして、Pull Requestレビューを却下できるユーザまたは Team を検索して選択します。 詳しい情報についてはプルリクエストレビューの却下を参照してください。
- 必要に応じて、ステータスチェック必須を有効化します。
- [Require status checks to pass before merging] を選択します。
- プルリクエストを保護されたブランチの最新コードで確実にテストしたい場合は、[Require branches to be up to date before merging] を選択します。
- 使用可能なステータスチェックのリストから、必須とするものを選択します。
- 必要に応じて、[Require signed commits] を選択します。
- 必要に応じて、[Require linear history] を選択します。
- オプションとして、[Include administrators] を選択します。
- 必要に応じて、ブランチ制限を有効化します。
- [Restrict who can push to matching branches] を選択します。
- 保護されたブランチにプッシュできる権限を持つユーザ、Team、またはアプリを検索し、選択します。
- 必要に応じて、[Rules applied to everyone including administrators] で [Allow force pushes] を選択します。
- 必要に応じて、[Allow deletions] を選択します。
- Create(作成)をクリックしてください。
ブランチ保護ルールを編集する
- GitHub Enterprise Serverで、リポジトリのメインページにアクセスしてください。
- リポジトリ名の下で Settings(設定)をクリックしてください。
- 左のメニューでBranches(ブランチ)をクリックしてください。
- 編集する保護ルールの右にある [Edit] をクリックします。
- ブランチ保護ルールを自由に変更してください。
- [Save changes] をクリックします。
ブランチ保護ルールを削除する
- GitHub Enterprise Serverで、リポジトリのメインページにアクセスしてください。
- リポジトリ名の下で Settings(設定)をクリックしてください。
- 左のメニューでBranches(ブランチ)をクリックしてください。
- 削除する保護ルールの右にある [Delete] をクリックします。