> ## Documentation Index
> Fetch the complete documentation index at: https://docs.diversion.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# ブランチ保護

> 重要なブランチへの直接コミットを防ぎ、変更をマージ経由で取り込むことを義務付けます

ブランチ保護を使うと、main ブランチやリリースブランチなどの重要なブランチを、直接のコミットをブロックすることで保護できます。ブランチが保護されると、変更を直接コミットすることはできなくなります。変更は別のブランチで行い、マージで取り込む必要があります。

ブランチ保護は追加費用なしですべてのユーザーが利用できます。

<Frame>
  <img src="https://mintcdn.com/diversion-2/Yky3RnSpHJMXzWF0/images/branch-protection/branch-protection-page.png?fit=max&auto=format&n=Yky3RnSpHJMXzWF0&q=85&s=b3d72ae99eb68db649b45564235920d2" alt="ブランチ保護設定ページに Add branch protection フォームが表示されている" width="1016" height="604" data-path="images/branch-protection/branch-protection-page.png" />
</Frame>

## 保護でできること

ブランチが保護されている場合:

* **直接のコミットがブロックされる。** ユーザーは保護されたブランチに変更を直接コミットできません。
* **変更はマージで取り込む必要がある。** 保護されたブランチを更新するには、別のブランチで変更を行い、そのブランチを保護されたブランチにマージします。
* **管理者は必要に応じてバイパス可能。** 管理者、または特定のユーザーリストに、直接コミットして保護をバイパスすることを許可できます。

<Note>
  ブランチ保護は現在、変更がマージ経由で到達することを強制します。マージにレビューまたは承認を先に通す要件はロードマップにあり、**まだ強制されていません**。この機能がリリースされ次第、このページは更新されます。
</Note>

## 保護ルールの追加

<Steps>
  <Step title="Branch Protection 設定を開く">
    上部ナビゲーションの **プロフィールアバター** をクリックし、**Your organizations** を選択します。設定サイドバーで **Repositories** を選択し、リポジトリ列で **Branch protection** を選択します。
  </Step>

  <Step title="リポジトリを確認">
    続行する前に、リポジトリ列上部のリポジトリピッカーで正しいリポジトリが選択されていることを確認します。
  </Step>

  <Step title="フォームを開く">
    **Add protection rule** をクリックします。
  </Step>

  <Step title="ブランチを選択">
    **Add branch protection** の下で、**Branch** ドロップダウンを開き、保護したいブランチを選択します。

    <Frame>
      <img src="https://mintcdn.com/diversion-2/-cDBIwWbFLP4SwEV/images/branch-protection/branch-protection-select-branch.png?fit=max&auto=format&n=-cDBIwWbFLP4SwEV&q=85&s=a6066400eea1a184d23161bf7fe1534b" alt="Branch ドロップダウンからブランチを選択する" width="353" height="182" data-path="images/branch-protection/branch-protection-select-branch.png" />
    </Frame>
  </Step>

  <Step title="バイパスを設定 (オプション)">
    **Merge restriction** の下で、変更がブランチに到達する方法を選択します: マージを許可、マージに承認を必須、またはすべてのマージをブロック。

    次に、保護されたブランチに直接コミットできる人 (いれば) を選択します:

    * **Allow admins to bypass** — オンにすると、リポジトリ管理者が直接コミットできるようになります。オフの場合、ヘルパーテキストには *「Admins cannot bypass protection.」* と表示されます。
    * **Bypass restrictions (optional)** — **Select users…** ドロップダウンを使って、保護をバイパスしてこのブランチに直接コミットできる特定のユーザーを追加します。

    両方のオプションをそのままにしておくと、管理者を含む全員に対して保護が強制されます。

    <Frame>
      <img src="https://mintcdn.com/diversion-2/-cDBIwWbFLP4SwEV/images/branch-protection/branch-protection-add-form.png?fit=max&auto=format&n=-cDBIwWbFLP4SwEV&q=85&s=e6651d46ca60314775c047cc7a21cb12" alt="Allow admins to bypass トグルと Bypass restrictions を含む Add branch protection フォーム" width="440" height="426" data-path="images/branch-protection/branch-protection-add-form.png" />
    </Frame>
  </Step>

  <Step title="保護を追加">
    **Add protection** をクリックします。ブランチが保護されました。
  </Step>
</Steps>

## 既存ルールの管理

既存の各ルールは、保護されたブランチ、そのバイパスステータス (たとえば *「No bypass allowed」*)、直接コミットできる **Allowed users** を表示します。ルールを編集するには **鉛筆** アイコンを、削除するには **ゴミ箱** アイコンを使用します。

### 保護ルールの削除

ブランチの保護を解除するには、**Branch protection** (プロフィールアバター → **Your organizations** → **Repositories** → **Branch protection**) に戻り、リポジトリピッカーで正しいリポジトリが選択されていることを確認します。そのブランチのルールを見つけ、**ゴミ箱** アイコンをクリックして削除します。ブランチへの直接コミットは即座に再び許可されます。

<Frame>
  <img src="https://mintcdn.com/diversion-2/-cDBIwWbFLP4SwEV/images/branch-protection/branch-protection-existing-rule.png?fit=max&auto=format&n=-cDBIwWbFLP4SwEV&q=85&s=b932a82d8e9ede4033a796de60eb460d" alt="main の既存のブランチ保護ルール、編集 (鉛筆) と削除 (ゴミ箱) コントロール付き" width="2296" height="113" data-path="images/branch-protection/branch-protection-existing-rule.png" />
</Frame>
