ブランチルール
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
GitLabは、個々のブランチを保護するための複数の方法を提供しています。これらの方法により、ブランチを作成してから削除するまで、監視と品質チェックを受けることができます:
- プロジェクトのデフォルトブランチに、強化されたセキュリティと保護を適用します。
- 保護ブランチを設定して以下を行います:
- ブランチへのプッシュおよびマージを許可するユーザーを制限します。
- ユーザーがブランチに強制プッシュできるかどうかを管理します。
CODEOWNERSファイルにリストされているファイルへの変更を、ブランチに直接プッシュできるかどうかを管理します。
- 承認ルールを設定してレビュー要件を管理し、セキュリティ関連の承認を実装します。
- サードパーティのステータスチェックと統合して、ブランチのコンテンツが定義された品質基準を満たしていることを確認します。
ブランチは以下で管理できます:
- GitLabのユーザーインターフェースを使用します。
- コマンドラインでGitを使用。
- Branches APIを使用。
ブランチルールを表示する
ブランチルール概要ページには、設定された保護と保護方法が設定されたすべてのブランチが表示されます:
前提要件:
- プロジェクトのメンテナー以上のロールを持っている必要があります。
ブランチルール概要リストを表示するには:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- 設定 > リポジトリを選択します。
- ブランチルールを展開して、保護されたすべてのブランチを表示します。
ブランチルールの詳細を表示
単一のブランチに対するブランチルールと保護を表示するには:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- 設定 > リポジトリを選択します。
- ブランチルールを展開して、保護されたすべてのブランチを表示します。
- 目的のブランチを特定し、詳細を表示を選択します。
ブランチルールを作成する
この機能の利用可否は、機能フラグによって制御されます。詳細については、履歴を参照してください。
前提要件:
- プロジェクトのメンテナー以上のロールを持っている必要があります。
ブランチルールを作成するには:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- 設定 > リポジトリを選択します。
- ブランチルールを展開します。
- ブランチルールの追加を選択します。
- 次のいずれかのオプションを選択します:
- 特定のブランチ名またはパターンを入力するには:
- ブランチ名またはパターンを選択します。
- ブランチルールの作成ドロップダウンリストから、ブランチ名を選択するか、
*でワイルドカードを作成します。
- プロジェクト内のすべてのブランチを保護するには:
- すべてのブランチを選択します。
- ルールの詳細ページのマージリクエストの承認で、ルールに必要な承認数を入力します。
- すでに保護されていると指定されているプロジェクト内のすべてのブランチを保護するには:
- 全ての保護ブランチを選択します。
- ルールの詳細ページのマージリクエストの承認で、ルールに必要な承認数を入力します。
- 特定のブランチ名またはパターンを入力するには:
ブランチルール保護の追加
all branchesでは利用できません。
新しいブランチに保護を追加するには:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- 設定 > リポジトリを選択します。
- ブランチルールを展開します。
- ブランチルールの追加を選択します。
- 全ての保護ブランチまたはブランチ名またはパターンのいずれかを選択します。
- ブランチルールの作成を選択します。
承認ルールを追加する
- プラン: Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
all branchesでは利用できません。
前提要件:
- プロジェクトのメンテナー以上のロールを持っている必要があります。
マージリクエスト承認ルールを追加するには:
- ブランチルールの詳細ページから、マージリクエストの承認セクションに移動します。
- 承認ルールセクションで、承認ルールを追加を選択します。
- 右側のサイドバーで、次のフィールドに入力します:
- 変更を保存を選択します。
詳細については、承認ルールを参照してください。
コミットをスカッシュオプションの編集
- プラン: Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
前提要件:
- プロジェクトのメンテナー以上のロールを持っている必要があります。
- GitLab Freeでは、ブランチルールがすべてのブランチを対象とする場合にのみ、この機能を使用できます。
- GitLab PremiumおよびGitLab Ultimateでは、この機能はすべてのブランチルールで使用できます。
スカッシュオプションを編集するには:
ブランチルールの詳細ページから、マージ時にコミットをスカッシュするセクションに移動します。
編集を選択します。
次のいずれかのオプションを選択します:
- 許可しない: スカッシュは許可されず、チェックボックスは非表示になります。
- 許可: チェックボックスが表示され、デフォルトで選択されていません。
- 推奨: チェックボックスが表示され、デフォルトで選択されています。
- 必須: スカッシュは常に実行されます。チェックボックスが表示されて選択され、ユーザーは変更できません。
変更を保存を選択します。
ステータスチェックサービスを追加
- プラン: Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
all protected branchesでは利用できません。
ステータスチェックサービスを追加するには:
ブランチルールの詳細ページから、ステータスチェックセクションに移動します。
ステータスチェックの追加を選択します。
サービス名を入力します。
チェックするAPIフィールドに、URLを入力します。
転送中のマージリクエストデータを保護するには、HTTPS URLを使用する必要があります。
詳細については、外部ステータスチェックを参照してください。
ブランチルールターゲットの編集
この機能の利用可否は、機能フラグによって制御されます。詳細については、履歴を参照してください。
前提要件:
- プロジェクトのメンテナー以上のロールを持っている必要があります。
ブランチルールターゲットを編集するには:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- 設定 > リポジトリを選択します。
- ブランチルールを展開して、保護されたすべてのブランチを表示します。
- 目的のブランチを特定し、詳細を表示を選択します。
- ルールターゲットセクションで、編集を選択します。
- 必要に応じて情報を編集します。
- 更新を選択します。
ブランチルール保護の編集
ブランチ保護コントロールの詳細については、保護ブランチを参照してください。
all branchesでは利用できません。
ブランチルールを削除する
この機能の利用可否は、機能フラグによって制御されます。詳細については、履歴を参照してください。
ブランチルールの削除は、all branchesを対象とするルールでは使用できません。
前提要件:
- プロジェクトのメンテナー以上のロールを持っている必要があります。
ブランチルールを削除するには:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- 設定 > リポジトリを選択します。
- ブランチルールを展開します。
- 削除するルールの横にある詳細を表示を選択します。
- 右上隅で、ブランチルールの削除を選択します。
- 確認ダイアログで、ブランチルールの削除を選択します。

