ブランチ保護ルールについて
リポジトリ内のブランチ保護ルールは、特定のブランチ、すべてのブランチ、または fnmatch
構文で指定する名前のパターンに一致するあらゆるブランチに対して作成できます。 たとえば、release
という単語を含む任意のブランチを保護するには、*release*
のブランチ ルールを作成します。
ワイルドカード構文 *
を使用して、リポジトリ内の現在および将来のブランチすべてに対する規則を作成できます。 GitHub は File::FNM_PATHNAME
フラグを File.fnmatch
構文で使用するため、ワイルドカードがディレクトリ区切り記号 (/
) と一致しません。 たとえば、qa/*
は、qa/
で始まり、1 つのスラッシュを含むすべてのブランチと一致します。 複数のスラッシュを含めるには qa/**/*
を使用します。また、qa**/**/*
を使用して qa
文字列を拡張すると、規則をさらに包括的にすることができます。 ブランチ規則の構文オプションの詳細については、fnmatch のドキュメントを参照してください。
リポジトリが同じブランチに影響する複数の保護されたブランチのルールを持っているなら、特定のブランチ名を含むルールがもっとも高い優先順位を持ちます。 同じ特定のブランチ名を参照する保護されたブランチのルールが複数あるなら、最初に作成されたブランチルールが高い優先順位を持ちます。
*
、?
、]
などの特殊文字を含む、保護されたブランチのルールは、作成された順序で適用されるので、これらの文字が含まれる規則は古い方が高い優先順位を持ちます。
既存のブランチのルールに例外を作成するため、特定のブランチ名に対するルールなど、優先度の高いブランチ保護ルールを新しく作成できます。
使用可能なブランチ保護設定それぞれの詳細については、「保護されたブランチについて」を参照してください。
ブランチ保護ルールを作成する
ブランチのルールを作成する際に、指定したブランチがリポジトリにしている必要はありません。
-
お使いの GitHub Enterprise Server インスタンス で、リポジトリのメイン ページへ移動します。 1. リポジトリ名の下にある [設定] をクリックします。 [セキュリティ] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。
-
サイドバーの [コードと自動化] セクションで、 [ ブランチ] をクリックします。
-
[ブランチ保護のルール] の横にある [ルールの追加] をクリックします。
-
"Branch name pattern(ブランチ名のパターン)"の下で、保護したいブランチの名前もしくはパターンを入力してください。
-
必要に応じて、必須の pull request を有効化します。
- Protect matching branches で、 [Require a pull request before merging](マージ前に pull request 必須) を選択します。
- 必要に応じて、pull request のマージ前の承認を必須にするには、 Require approvals を選択し、 Required number of approvals before merging ドロップダウン メニューをクリックし、ブランチで必須にする承認レビューの数を選択します。
- 必要に応じて、コードを変更するコミットがブランチにプッシュされたときに pull request 承認レビューを却下するには、 [Dismiss stale pull request approvals when new commits are pushed](新しいコミットがプッシュされたときに古い pull request 承認を却下する) を選択します。
- 必要に応じて、pull request が影響するコードに所有者が指定されているとき、コード所有者のレビューを必須にするには、 Require review from Code Owners を選択します。 詳しくは、「コードオーナーについて」を参照してください。
- 必要に応じて、pull request が必須であるときに、特定のアクターがそれを作成せずにコードをブランチにプッシュできるようにするには、 [Allow specified actors to bypass required pull requests](指定したアクターが必須 pull request をバイパスすることを許可) を選択します。 次に、pull request の作成をスキップすることを許可するアクターを探して選択します。
- 必要に応じて、リポジトリが組織に含まれる場合に、 [Restrict who can dismiss pull request reviews](pull request レビューを却下できるユーザーを制限) を選択します。 次に、pull request レビューの却下を許可するアクターを探して選択します。 詳しくは、「プルリクエストレビューの却下」を参照してください。
- Protect matching branches で、 [Require a pull request before merging](マージ前に pull request 必須) を選択します。
-
必要に応じて、ステータスチェック必須を有効化します。 詳しくは、「ステータスチェックについて」を参照してください。
- Require status checks to pass before merging を選択します。
- 必要に応じて、保護されたブランチの最新コードに対して pull request を確実にテストするには、 Require branches to be up to date before merging を選択します。
- 状態チェックを探して、必須にするチェックを選択します。
- Require status checks to pass before merging を選択します。
-
必要に応じて、 Require conversation resolution before merging を選択します。
-
必要に応じて、 Require signed commits を選択します。
-
必要に応じて、 Require linear history を選択します。
-
必要に応じて、マージ前に変更を正常にデプロイする必要がある環境を選択するには、 Require deployments to succeed before merging を選択してから環境を選択します。
-
必要に応じて、 [上のルールを管理者に適用する] を選択します。
-
必要に応じて、ブランチ制限を有効にします。
- Restrict who can push to matching branches を選択します。
- 必要に応じて、一致するブランチの作成も制限するには、 Restrict pushes that create matching branches を選択します。
- 保護されたブランチにプッシュできるアクセス許可または一致するブランチを作成するアクセス許可を設定する、ユーザ、チーム、またはアプリを探して、選択します。
- Restrict who can push to matching branches を選択します。
-
必要に応じて、Rules applied to everyone including administrators の下で [Allow force pushes](フォース プッシュを許可) を選択します。
次に、ブランチにフォースプッシュできる人を選びます。-
Everyone を選択し、リポジトリに対して少なくとも書き込みアクセス許可を持つすべてのユーザー (管理者権限を持つユーザーを含む) が、ブランチにフォース プッシュできるようにします。
-
[Specify who can force push](フォース プッシュできるユーザーを指定する) を選択し、ブランチへのフォース プッシュを特定のアクターに許可します。 次に、そのようなアクターを探して選択します。
フォース プッシュについて詳しくは、「保護されたブランチについて」をご覧ください。
-
-
必要に応じて、 Allow deletions を選択します。
-
Create をクリックしてください。
ブランチ保護ルールを編集する
-
お使いの GitHub Enterprise Server インスタンス で、リポジトリのメイン ページへ移動します。 1. リポジトリ名の下にある [設定] をクリックします。 [セキュリティ] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。
-
サイドバーの [コードと自動化] セクションで、 [ ブランチ] をクリックします。
-
編集しようとするブランチ保護規則の右側の [編集] をクリックします。
-
ブランチ保護ルールを自由に変更してください。
-
[変更を保存] をクリックします。
ブランチ保護ルールを削除する
-
お使いの GitHub Enterprise Server インスタンス で、リポジトリのメイン ページへ移動します。 1. リポジトリ名の下にある [設定] をクリックします。 [セキュリティ] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。
-
サイドバーの [コードと自動化] セクションで、 [ ブランチ] をクリックします。
-
削除しようとするブランチ保護規則の右側の [削除] をクリックします。