Git のブランチ保護を設定する

ブランチ保護とは

指定したブランチへの書き込み・削除を特定のユーザーやチームだけに限定します。これにより、Gitリポジトリへの意図しない変更が入りにくくなり、Gitリポジトリを安全にチームで運用できます。

ブランチ保護による制限

制限される操作

保護されているブランチでは、ユーザーは次の操作が制限されます。

  • プッシュ
  • 強制プッシュ
  • ブランチの削除

保護されているブランチに対してプッシュを試みるとエラーが返ります。

remote: You are not allowed to update protected branches on this repository.

制限の緩和

保護されているブランチに対して、特定のユーザーにだけ制限を緩和できます。ブランチ保護ルールを作成する際に「プッシュできるユーザーまたはチーム」で指定されたユーザーやチームのメンバーは対象のブランチにプッシュできます。

また、ブランチ保護ルールのオプションで強制プッシュを有効にしている場合、これらのユーザーは強制プッシュを実行できます。

保護されたブランチを削除可能にするオプションはありません。

保護されているブランチを確認する

ブランチが保護されているかどうかは、 リポジトリのブランチ一覧 で確認できます。保護されているブランチにはブランチ名の横に盾のアイコンが表示されます。

ブランチの一覧

ブランチ保護ルール

ブランチ保護は Gitリポジトリの編集 の画面で設定します。

ルール一覧

リポジトリ内のブランチに対して設定したルールは、各リポジトリの編集画面で確認できます。

ルールの一覧

ルールを追加する

次の手順でブランチ保護ルールを追加します。

  1. Gitリポジトリの編集 を開く
  2. 「ルールを追加」をクリックする
  3. ポップアップウィンドウで情報を入力する

    ルールの追加

    • ブランチ名
      保護したいブランチのブランチ名を全文もしくはパターンで入力します。特定のブランチだけ、もしくは fnmatch 構文でパターンに一致するすべてのブランチを指定できます。
    • プッシュできるユーザーまたはチーム
      保護されたブランチへのプッシュを許可したいユーザーがいる場合に入力します。許可リスト方式で、特定のユーザーやチームを検索して指定します。
    • 強制プッシュを有効にする
      保護されているブランチに対して強制プッシュ(push -f, push --force)を有効にしたい場合にチェックします。なお、強制プッシュができるのはプッシュできるユーザーとして指定されたユーザーのみです。
  4. 「追加」をクリックする

ルールを編集する

次の手順でブランチ保護のルールを編集します。

  1. Gitリポジトリの編集 を開く
  2. 編集したいルールの「ブランチ名」をクリックする
  3. ポップアップウィンドウで情報を編集する

    ルールの編集

    • ルールが適用されるブランチ
      入力したブランチ名の全文またはパターンにマッチして、ブランチ保護ルールが適用されるブランチが一覧で表示されます。
  4. 「保存」をクリックする

ルールを削除する

次の手順でブランチ保護のルールを削除します。

  1. Gitリポジトリの編集 を開く
  2. 削除したいルールの削除アイコン「×」をクリックする
  3. ポップアップウィンドウで「削除」をクリックする

    ルールの削除