正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

ブランチルール

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated

GitLabは、個々のブランチを保護するための複数の方法を提供しています。これらのメソッドにより、ブランチは作成から削除まで監視と品質チェックを受けます:

  • プロジェクトのデフォルトブランチに強化されたセキュリティと保護を適用します。
  • 保護ブランチを次のように設定します:
    • ブランチへのプッシュとマージができるユーザーを制限します。
    • ユーザーがブランチに強制プッシュできるかどうかを管理します。
    • CODEOWNERSファイルにリストされているファイルへの変更が、ブランチに直接プッシュできるかどうかを管理します。
  • 承認ルールを設定し、レビュー要件を管理し、セキュリティ関連の承認を実装します。
  • サードパーティのステータスチェックと統合し、ブランチの内容が定義された品質基準を満たしていることを確認します。

ブランチは次のように管理できます:

  • GitLabのユーザーインターフェースを使用します。
  • コマンドラインのGitを使用します。
  • ブランチAPIを使用します。

ブランチルールを表示

ブランチルール概要ページには、設定されているすべてのブランチと、その保護方法が表示されます:

保護が設定されたブランチの例

前提条件:

  • プロジェクトのメンテナーまたはオーナーロールが必要です。

ブランチルールの概要リストを表示するには:

  1. 上部のバーで、検索または移動先を選択して、プロジェクトを見つけます。
  2. 設定 > リポジトリを選択します。
  3. ブランチルールを展開して、保護されたすべてのブランチを表示します。

ブランチルールの詳細を表示

単一のブランチのブランチルールと保護を表示するには:

  1. 上部のバーで、検索または移動先を選択して、プロジェクトを見つけます。
  2. 設定 > リポジトリを選択します。
  3. ブランチルールを展開して、保護されたすべてのブランチを表示します。
  4. 目的のブランチを特定し、詳細を表示を選択します。

ブランチルールを作成

前提条件:

  • プロジェクトのメンテナーまたはオーナーロールが必要です。

ブランチルールを作成するには:

  1. 上部のバーで、検索または移動先を選択して、プロジェクトを見つけます。
  2. 設定 > リポジトリを選択します。
  3. ブランチルールを展開します。
  4. ブランチルールの追加を選択します。
  5. 次のいずれかのオプションを選択します。
    • 特定のブランチ名またはパターンを入力するには:
      1. ブランチ名またはパターンを選択します。
      2. ブランチルールの作成ドロップダウンリストから、ブランチ名を選択するか、*を使用してワイルドカードを作成します。
    • プロジェクト内のすべてのブランチを保護するには:
      1. すべてのブランチを選択します。
      2. ルールの詳細ページで、マージリクエストの承認の下にある必須の承認数を入力します。
    • すでに保護済みとして指定されているプロジェクト内のすべてのブランチを保護するには:
      1. 全ての保護ブランチを選択します。
      2. ルールの詳細ページで、マージリクエストの承認の下にある必須の承認数を入力します。

ブランチルール保護の追加

all branchesには使用できません。

新しいブランチに保護を追加するには:

  1. 上部のバーで、検索または移動先を選択して、プロジェクトを見つけます。
  2. 設定 > リポジトリを選択します。
  3. ブランチルールを展開します。
  4. ブランチルールの追加を選択します。
  5. 全ての保護ブランチまたはブランチ名またはパターンのいずれかを選択します。
  6. ブランチルールの作成を選択します。

承認ルールを追加する

  • プラン: Premium、Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated

all branchesには使用できません。

前提条件:

  • プロジェクトのメンテナーまたはオーナーロールが必要です。

マージリクエスト承認ルールを追加するには:

  1. ブランチルール詳細ページから、マージリクエストの承認セクションに移動します。
  2. 承認ルールセクションで、承認ルールを追加を選択します。
  3. 右サイドバーで、フィールドに入力します:
    • ルール名を入力します。

    • 必要な承認数に値を入力します (0-100)。

      0の値はルールをオプションにし、0より大きい値は必須ルールを作成します。必要な承認の最大数は100です。

    • 承認資格のあるユーザーまたはグループを選択します。

      GitLabは、マージリクエストによって変更されたファイルの以前の作成者に基づいて承認者を提案します。

  4. 変更を保存を選択します。

追加情報については、承認ルールを参照してください。

コミットをスカッシュオプションの編集

  • プラン: Premium、Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated

前提条件:

  • プロジェクトのメンテナーまたはオーナーロールが必要です。
  • GitLab Freeでは、この機能はブランチルールがすべてのブランチをターゲットとする場合にのみ利用可能です。
  • PremiumおよびUltimateでは、この機能はすべてのブランチルールで利用可能です。

スカッシュオプションを編集するには:

  1. ブランチルール詳細ページから、マージ時にコミットをスカッシュするセクションに移動します。

  2. 編集を選択します。

  3. 以下のオプションのいずれかを選択します:

    • デフォルト: ブランチレベルのスカッシュ設定を削除し、プロジェクトのデフォルト設定を継承します。このオプションは、プロジェクトのデフォルト設定を定義するすべてのブランチルールでは利用できません。
    • 許可しない: スカッシュは許可されず、チェックボックスは非表示になります。
    • 許可: チェックボックスは表示され、デフォルトで選択されていません。
    • 推奨: チェックボックスは表示され、デフォルトで選択されています。
    • 必須: スカッシュは常に実行されます。チェックボックスは表示され、選択されており、ユーザーは変更できません。
  4. 変更を保存を選択します。

ステータスチェックサービスの追加

  • プラン: Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated

all protected branchesには使用できません。

ステータスチェックサービスを追加するには:

  1. ブランチルール詳細ページから、ステータスチェックセクションに移動します。

  2. ステータスチェックの追加を選択します。

  3. サービス名を入力します。

  4. チェックするAPIフィールドにURLを入力します。

    マージリクエストデータを転送時に保護するために、HTTPS URLを使用する必要があります。

ブランチルールステータスチェック

詳細については、外部ステータスチェックを参照してください。

ブランチルールターゲットの編集

前提条件:

  • プロジェクトのメンテナーまたはオーナーロールが必要です。

ブランチルールターゲットを編集するには:

  1. 上部のバーで、検索または移動先を選択して、プロジェクトを見つけます。
  2. 設定 > リポジトリを選択します。
  3. ブランチルールを展開して、保護されたすべてのブランチを表示します。
  4. 目的のブランチを特定し、詳細を表示を選択します。
  5. ルールターゲットセクションで、編集を選択します。
  6. 必要に応じて情報を編集します。
  7. Updateを選択します。

ブランチルール保護の編集

ブランチ保護コントロールの詳細については、保護ブランチを参照してください。

all branchesには使用できません。

ブランチルールを削除

前提条件:

  • プロジェクトのメンテナーまたはオーナーロールが必要です。

ブランチルールを削除するには:

  1. 上部のバーで、検索または移動先を選択して、プロジェクトを見つけます。
  2. 設定 > リポジトリを選択します。
  3. ブランチルールを展開します。
  4. 削除するルールの横にある詳細を表示を選択します。
  5. 右上隅にあるブランチルールの削除を選択します。
  6. 確認ダイアログで、ブランチルールの削除を選択します。

ブランチルールを削除する機能は、all branchesをターゲットとするルールには利用できません。