Skip to main content
ドキュメントへの更新が頻繁に発行されており、このページの翻訳はまだ行われている場合があります。 最新の情報については、「英語のドキュメント」を参照してください。

ブランチ保護ルールを管理する

ブランチ保護ルールを作成して、1 つ以上のブランチに特定のワークフローを強制することができます。たとえば、承認レビューを要求したり、保護されたブランチにマージされるすべての pull request について状態チェックを渡したりすることができます。

この機能を使用できるユーザー

People with admin permissions to a repository can manage branch protection rules.

保護されたブランチは、GitHub Free及びOrganizationのGitHub Freeのパブリックリポジトリ、GitHub Pro、GitHub Team、GitHub Enterprise Cloud、GitHub Enterprise Serverのパブリック及びプライベートリポジトリで利用できます。

ブランチ保護ルールについて

リポジトリ内のブランチ保護ルールは、特定のブランチ、すべてのブランチ、または fnmatch 構文で指定する名前のパターンに一致するあらゆるブランチに対して作成できます。 たとえば、release という単語を含む任意のブランチを保護するには、*release* のブランチ ルールを作成します。

ワイルドカード構文 * を使用して、リポジトリ内の現在および将来のブランチすべてに対する規則を作成できます。 GitHub は File::FNM_PATHNAME フラグを File.fnmatch 構文で使用するため、ワイルドカードがディレクトリ区切り記号 (/) と一致しません。 たとえば、qa/* は、qa/ で始まり、1 つのスラッシュを含むすべてのブランチと一致します。 複数のスラッシュを含めるには qa/**/* を使用します。また、qa**/**/* を使用して qa 文字列を拡張すると、規則をさらに包括的にすることができます。 ブランチ規則の構文オプションの詳細については、fnmatch のドキュメントを参照してください。

リポジトリが同じブランチに影響する複数の保護されたブランチのルールを持っているなら、特定のブランチ名を含むルールがもっとも高い優先順位を持ちます。 同じ特定のブランチ名を参照する保護されたブランチのルールが複数あるなら、最初に作成されたブランチルールが高い優先順位を持ちます。

*?] などの特殊文字を含む、保護されたブランチのルールは、作成された順序で適用されるので、これらの文字が含まれる規則は古い方が高い優先順位を持ちます。

既存のブランチのルールに例外を作成するため、特定のブランチ名に対するルールなど、優先度の高いブランチ保護ルールを新しく作成できます。

使用可能なブランチ保護設定それぞれの詳細については、「保護されたブランチについて」を参照してください。

ブランチ保護ルールを作成する

ブランチのルールを作成する際に、指定したブランチがリポジトリにしている必要はありません。

  1. お使いの GitHub Enterprise Server インスタンス で、リポジトリのメイン ページへ移動します。 1. リポジトリ名の下にある [設定] をクリックします。 [セキュリティ] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。

    タブを示すリポジトリ ヘッダーのスクリーンショット。 [設定] タブが濃いオレンジ色の枠線で強調表示されています。

  2. サイドバーの [コードと自動化] セクションで、 [ ブランチ] をクリックします。

  3. [ブランチ保護のルール] の横にある [ルールの追加] をクリックします。

  4. "Branch name pattern(ブランチ名のパターン)"の下で、保護したいブランチの名前もしくはパターンを入力してください。

  5. 必要に応じて、必須の pull request を有効化します。

    • Protect matching branches で、 [Require a pull request before merging](マージ前に pull request 必須) を選択します。 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 の承認を却下するチェックボックス
    • 必要に応じて、pull request が影響するコードに所有者が指定されているとき、コード所有者のレビューを必須にするには、 Require review from Code Owners を選択します。 詳しくは、「コードオーナーについて」を参照してください。 コードオーナーのレビューを必要とする
    • 必要に応じて、pull request が必須であるときに、特定のアクターがそれを作成せずにコードをブランチにプッシュできるようにするには、 [Allow specified actors to bypass required pull requests](指定したアクターが必須 pull request をバイパスすることを許可) を選択します。 次に、pull request の作成をスキップすることを許可するアクターを探して選択します。 特定のアクターが pull request 要件をバイパスすることを許可するチェックボックス
    • 必要に応じて、リポジトリが組織に含まれる場合に、 [Restrict who can dismiss pull request reviews](pull request レビューを却下できるユーザーを制限) を選択します。 次に、pull request レビューの却下を許可するアクターを探して選択します。 詳しくは、「プルリクエストレビューの却下」を参照してください。 [Restrict who can dismiss pull request reviews] (pull request レビューを却下できるユーザーを制限) チェックボックス
  6. 必要に応じて、ステータスチェック必須を有効化します。 詳しくは、「ステータスチェックについて」を参照してください。

  7. 必要に応じて、 Require conversation resolution before merging を選択します。 [マージ前に会話の解決必須] オプション

  8. 必要に応じて、 Require signed commits を選択します。 [Require signed commits](署名済みコミット必須) オプション

  9. 必要に応じて、 Require linear history を選択します。 [Require linear history](直線状の履歴必須) オプション

  10. 必要に応じて、マージ前に変更を正常にデプロイする必要がある環境を選択するには、 Require deployments to succeed before merging を選択してから環境を選択します。 デプロイ成功必須オプション

  11. 必要に応じて、 [上のルールを管理者に適用する] を選択します。 [上のルールを管理者に適用する] チェックボックス

  12. 必要に応じて、ブランチ制限を有効にします。

    • Restrict who can push to matching branches を選択します。 ブランチ制限のチェックボックス
    • 必要に応じて、一致するブランチの作成も制限するには、 Restrict pushes that create matching branches を選択します。 ブランチ作成制限のチェックボックス
    • 保護されたブランチにプッシュできるアクセス許可または一致するブランチを作成するアクセス許可を設定する、ユーザ、チーム、またはアプリを探して、選択します。 ブランチ制限の検索
  13. 必要に応じて、Rules applied to everyone including administrators の下で [Allow force pushes](フォース プッシュを許可) を選択します。 [フォースプッシュを許可] オプション 次に、ブランチにフォースプッシュできる人を選びます。

    • Everyone を選択し、リポジトリに対して少なくとも書き込みアクセス許可を持つすべてのユーザー (管理者権限を持つユーザーを含む) が、ブランチにフォース プッシュできるようにします。

    • [Specify who can force push](フォース プッシュできるユーザーを指定する) を選択し、ブランチへのフォース プッシュを特定のアクターに許可します。 次に、そのようなアクターを探して選択します。 プッシュを強制できるユーザーを指定するオプションのスクリーンショット

      フォース プッシュについて詳しくは、「保護されたブランチについて」をご覧ください。

  14. 必要に応じて、 Allow deletions を選択します。 ブランチの削除を許可するオプション

  15. Create をクリックしてください。

ブランチ保護ルールを編集する

  1. お使いの GitHub Enterprise Server インスタンス で、リポジトリのメイン ページへ移動します。 1. リポジトリ名の下にある [設定] をクリックします。 [セキュリティ] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。

    タブを示すリポジトリ ヘッダーのスクリーンショット。 [設定] タブが濃いオレンジ色の枠線で強調表示されています。

  2. サイドバーの [コードと自動化] セクションで、 [ ブランチ] をクリックします。

  3. 編集しようとするブランチ保護規則の右側の [編集] をクリックします。 [編集] ボタン

  4. ブランチ保護ルールを自由に変更してください。

  5. [変更を保存] をクリックします。 [変更を保存] ボタン

ブランチ保護ルールを削除する

  1. お使いの GitHub Enterprise Server インスタンス で、リポジトリのメイン ページへ移動します。 1. リポジトリ名の下にある [設定] をクリックします。 [セキュリティ] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。

    タブを示すリポジトリ ヘッダーのスクリーンショット。 [設定] タブが濃いオレンジ色の枠線で強調表示されています。

  2. サイドバーの [コードと自動化] セクションで、 [ ブランチ] をクリックします。

  3. 削除しようとするブランチ保護規則の右側の [削除] をクリックします。 [削除] ボタン