Skip to main content
ドキュメントには頻繁に更新が加えられ、その都度公開されています。本ページの翻訳はまだ未完成な部分があることをご了承ください。最新の情報については、英語のドキュメンテーションをご参照ください。本ページの翻訳に問題がある場合はこちらまでご連絡ください。

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

保護されたブランチにマージされる前に、すべてのプルリクエストでレビューへの承認またはステータスチェックへのパスを必須とするなど、1 つ以上のブランチに対して特定のワークフローを強制するため、ブランチ保護ルールを作成できます。

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のパブリック及びプライベートリポジトリで利用できます。 詳しい情報については「GitHubの製品」を参照してください。

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

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

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

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

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

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

For more information about each of the available branch protection settings, see "About protected branches."

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

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

  1. GitHub.comで、リポジトリのメインページにアクセスしてください。

  2. リポジトリ名の下で Settings(設定)をクリックしてください。 リポジトリの設定ボタン

  3. In the "Code and automation" section of the sidebar, click Branches.

  4. "Branch protection rules(ブランチ保護のルール)"の隣のAdd rule.(ルールの追加)をクリックしてください。 ブランチ保護のルールの追加ボタン

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

  6. Optionally, enable required pull requests.

    • Under "Protect matching branches", select Require a pull request before merging. プルリクエストレビューの制限チェックボックス

    • Optionally, to require approvals before a pull request can be merged, select Require approvals, click the Required number of approvals before merging drop-down menu, then select the number of approving reviews you would like to require on the branch. 必須とするレビュー承認の数を選択するドロップダウンメニュー

    • コードを変更するコミットがブランチにプッシュされたときにプルリクエストの承認レビューを却下する場合は、[Dismiss stale pull request approvals when new commits are pushed] を選択します。 新たなコミットがチェックボックスにプッシュされた際に古いプルリクエストの承認を却下するチェックボックス

    • 指定されたオーナーのコードにプルリクエストが影響する場合に、コードオーナーからのレビューを必須にする場合は、[Require review from Code Owners] を選択します。 詳細は「コードオーナーについて」を参照してください。 コードオーナーのレビューを必要とする

    • Optionally, to allow specific actors to push code to the branch without creating pull requests when they're required, select Allow specified actors to bypass required pull requests. Then, search for and select the actors who should be allowed to skip creating a pull request. Allow specific actors to bypass pull request requirements checkbox

    • リポジトリが Organization の一部である場合、[Restrict who can dismiss pull request reviews] を選択します。 Then, search for and select the actors who are allowed to dismiss pull request reviews. 詳しい情報についてはプルリクエストレビューの却下を参照してください。 Restrict who can dismiss pull request reviews checkbox

  7. 必要に応じて、ステータスチェック必須を有効化します。 詳しい情報についてはステータスチェックについてを参照してください。

    • [Require status checks to pass before merging] を選択します。 必須ステータスチェックのオプション
    • プルリクエストを保護されたブランチの最新コードで確実にテストしたい場合は、[Require branches to be up to date before merging] を選択します。 必須ステータスのチェックボックス、ゆるい、または厳格な
    • Search for status checks, selecting the checks you want to require. Search interface for available status checks, with list of required checks
  8. Optionally, select Require conversation resolution before merging. Require conversation resolution before merging option

  9. 必要に応じて、[Require signed commits] を選択します。 [Require signed commits] オプション

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

  11. Optionally, to merge pull requests using a merge queue, select Require merge queue. For information about merge queue, see "Managing a merge queue." Require merge queue option

    Tip: The pull request merge queue feature is currently in limited public beta and subject to change. Organizations owners can request early access to the beta by joining the waitlist.

  12. Optionally, to choose which environments the changes must be successfully deployed to before merging, select Require deployments to succeed before merging, then select the environments. Require successful deployment option

  13. Optionally, select Apply the rules above to administrators. Apply the rules above to administrators checkbox

  14. 必要に応じて、GitHub Team または GitHub Enterprise Cloud を使用する Organization がリポジトリを所有している場合には、ブランチ制限を有効化します。

    • [Restrict who can push to matching branches] を選択します。 Branch restriction checkbox
    • Optionally, to also restrict the creation of matching branches, select Restrict pushes that create matching branches. Branch creation restriction checkbox
    • Search for and select the people, teams, or apps who will have permission to push to the protected branch or create a matching branch. Branch restriction search
  15. 必要に応じて、[Rules applied to everyone including administrators] で [Allow force pushes] を選択します。 フォースプッシュオプションを許可する

    Then, choose who can force push to the branch.

    • Select Everyone to allow everyone with at least write permissions to the repository to force push to the branch, including those with admin permissions.

    • Select Specify who can force push to allow only specific actors to force push to the branch. Then, search for and select those actors. Screenshot of the options to specify who can force push

      For more information about force pushes, see "Allow force pushes."

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

  17. Create(作成)をクリックしてください。

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

  1. GitHub.comで、リポジトリのメインページにアクセスしてください。

  2. リポジトリ名の下で Settings(設定)をクリックしてください。 リポジトリの設定ボタン

  3. In the "Code and automation" section of the sidebar, click Branches.

  4. 編集する保護ルールの右にある [Edit] をクリックします。 編集ボタン

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

  6. [Save changes] をクリックします。 [Edit message] ボタン

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

  1. GitHub.comで、リポジトリのメインページにアクセスしてください。

  2. リポジトリ名の下で Settings(設定)をクリックしてください。 リポジトリの設定ボタン

  3. In the "Code and automation" section of the sidebar, click Branches.

  4. 削除する保護ルールの右にある [Delete] をクリックします。 削除ボタン