ブランチの権限

このページの内容

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

ブランチ権限は、特定のワークフローを強制し、新しいチーム メンバーが master を削除してしまうようなエラーを防ぐために役立ちます。

ブランチ権限でできること:

  • 任意のブランチに書き込みまたはマージできるユーザー/グループを厳密にコントロールします。
  • 特定のブランチ タイプやパターンに対応する権限を作成します。たとえば、/PROJECT-* は、PROJECT-1234 などの名前を持つすべてのブランチへのアクセスを制限します。
  • ユーザーがブランチに強制プッシュできないようにします。
  • ブランチが削除されないようにします。

チームのワークフローをさらに厳密に管理したい場合はマージ チェックについて確認してください。マージ チェックでは、個別のブランチやブランチ パターンのマージについて、特定の条件を推奨または要求することができます。マージ チェックについて詳細を読む

マージ チェックは、Bitbucket Cloud のプレミアム機能です。Bitbucket プレミアムについて詳細を読む

このページの内容

関連ページ

権限のセットアップの例

たとえば、Alana (主任エンジニア)、Harvey (QA リーダー)、およびその他の 5 人のエンジニアが Teams in space プロジェクトに携わっているとします。効果的に作業できるよう、全員がリポジトリへの書き込みアクセス権を持っています。今回は、リポジトリの master ブランチと develop ブランチへのアクセスを管理する必要があります。次のように権限を割り当てます。 

  • Alana にのみ master への直接書き込みを許可
  • Alana と Harvey にのみ master へのマージを許可
  • 全員に develop へのマージを許可 (ただしプルリクエスト経由でのみ)
ここをクリックしてこの例のセットアップ方法を表示

権限を制限したいリポジトリに移動し、[設定]、[ブランチ権限] の順にクリックします。

master ブランチに権限を追加する:

  1. [ブランチの権限の追加] をクリックします。
  2. 各フィールドに以下を入力してから、[保存] をクリックします。
    1. 名前またはパターン: master
    2. 書き込みアクセス権限: Alana Persona
    3. プルリクエスト経由でのマージ: Harvey Persona

次に、develop ブランチに権限を追加します。

  1. [ブランチの権限の追加] をクリックします。
  2. 各フィールドに以下を入力してから、[保存] をクリックします。
    1. 名前またはパターン: Develop
    2. 書き込みアクセス: Alana Persona および Harvey Persona (Alana と Harvey はプルリクエスト経由でのマージ権限を取得します)
    3. プルリクエスト経由でのマージ: Developers

結果は次のようになります。

両方のブランチで、履歴の削除/書き換えが全員に対して制限されていることもわかります。

ブランチ タイプ

ブランチ モデル を有効にしている場合、特定のタイプのすべてのブランチに対するアクセス権限を構成できます。これは、たとえば、すべてのリリース ブランチでマージ アクセスを制限したい場合などに便利です。

ブランチ パターン

タイプよりもさらに細かくする必要がある場合は、文字列のいずれかの端にワイルドカード文字 (*) を追加することで、特定のパターンのブランチ名 (PROJECT- など) に対する権限を設定することもできます。例:

PROJECT-*: "PROJECT-*" という名前のブランチと一致します (名前空間を含む)。したがって、制限は次のようなブランチに適用されます。

  • PROJECT-1234
  • PROJECT-new
  • PROJECT-1.1

Mercurial のブランチ管理との違い

Mercurial リポジトリの場合、ブックマークでのブランチ管理の違いもサポートされます。Git のブランチ権限と同様、Bitbucket Cloud ではブランチ権限を設定して、ブックマークと名前付きブランチの両方のプッシュを制限できます。Git と異なり、ブランチ権限設定を使用してブランチ履歴を書き換えたり、ブランチを削除したりすることはできません。ただし、ブックマーク管理設定にブックマーク名を追加してブックマークが削除されるのを防ぐことができます。

ユーザーが Mercurial リポジトリへの書き込みアクセス権を持っている場合、履歴の書き換えや再配置を制限することはできません。

ブランチ権限の重複

誤ってブランチ権限が重複してしまうことがあります。たとえば、ブランチ名 master 専用のブランチ権限を作成し、ブランチ パターン * を使用した権限も作成した場合、master ブランチには両方の権限が適用されます。


次の表に、権限定義が重複した場合の結果の例を示します。

ワイルドカード (*) ブランチ パターン特定の ("master") ブランチ名両方の制限に含まれるブランチに適用される制限
ユーザーまたはグループ制限 (書き込みまたはマージ アクセス)
ユーザーまたはグループがリストされていないAlanaAlana のみがアクセス権を保持
全員AlanaAlana のみがアクセス権を保持
AlanaHarveyAlana と Harvey の両方がアクセス権を保持
AlanaユーザーまたはグループがないAlana のみがアクセス権を保持
Alana全員Alana のみがアクセス権を保持
最終更新日 2019 年 3 月 21 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.