web-dev-qa-db-ja.com

Gitのmasterブランチへのアクセスを制限する方法

2つのユーザーグループがある単一のレポがあります。

  • 管理者
  • HTML/UI開発者

HTML開発者はmasterブランチの読み取り/書き込みアクセス権を与えたくないので、HTML開発者は作業する必要がなく、コアコードを誤用してはいけません。

彼らは自分のブランチで作業する必要がありますがui-developers。 gitでこれを行うにはどうすればよいですか?

追伸:BitBucketを使用しています

更新:

コーディングとgitが非常に初めてのときに、この質問を投稿しました。 2年の経験の後、私はgitが特定のブランチの読み取りアクセスを制限することを許可していないことを知っています。しかし、Bitbucket、Gitlab、Githubなどのサービスを使用すると、ブランチに書き込みおよびマージの制限を設定できます。

また、6か月前にGitlabに移行しました:)

43
Harshit Agrawal

Git自体にはこのような機能はありませんが、多くのホスティングプロバイダーにはあります。これは一般に分岐保護として知られています。私の知る限り、読み取りアクセスを防ぐ方法はありません。

BitBucketを使用する

BitBucketでは、ブランチ保護によって防止するためにアクションの多くのカスタマイズが可能です。ブランチを保護するには:

  1. プロジェクトのリポジトリに移動します。

  2. [設定]> [ブランチの権限]を選択します。

  3. [許可を追加]をクリックします。

  4. [ブランチ]フィールドで、ブランチ名、ブランチパターン、またはブランチモデルのいずれかを選択します。

    • ブランチ名-既存のブランチを名前で選択します。

    • ブランチパターン-ブランチ名を照合するためのブランチパターン構文を使用してブランチを指定します。

    • 分岐モデル-アクセスを制限する分岐タイプを選択します。

  5. 防止するアクションのタイプを選択します。

    • ブランチの削除-ブランチとタグの削除を防ぎます。

    • 履歴の書き換え-強制プッシュまたはリベースなどにより、指定されたブランチでの履歴の書き換えを防ぎます。

    • プルリクエストなしの変更-指定されたブランチに変更を直接プッシュできないようにします。変更はプルリクエストでのみ許可されます。

    • すべての変更-指定されたブランチへのプッシュを防ぎ、指定されたブランチまたはパターンに一致する新しいブランチの作成を制限します。

  6. オプション:選択した制限のいずれかの免除を追加します。ユーザーまたはグループを免除として追加すると、それらは適用されません。これは必須ではありません。免除を追加しないと、すべての人に制限が適用されます。

  7. [作成]をクリックして終了します。

ソース

GitHubを使用する

GitHubの保護されたブランチ:

  • 強制的にプッシュすることはできません

  • 削除できません

  • 必要なステータスチェックに合格するまで、変更をマージすることはできません

ブランチを保護するには:

  1. GitHubで、リポジトリのメインページに移動します。

  2. リポジトリー名の下で、「設定」をクリックします。

  3. 左側のメニューで、[ブランチ]をクリックします。

  4. [保護されたブランチ]で、ドロップダウンメニューを使用して、保護対象としてマークするブランチを選択します。

  5. [このブランチを保護]を選択します。

  6. [変更を保存]をクリックします。

ソース

GitLabを使用する

GitLabでは、ブランチを保護すると次のことが行われます。

  • まだ作成されていない場合、マスター権限を持つユーザーを除く全員からの作成を防ぎます
  • マスター権限を持つユーザーを除く全員からのプッシュを防ぎます
  • 誰かが強制的にブランチにプッシュするのを防ぎます
  • 誰もブランチを削除できません

ブランチを保護するには:

  1. プロジェクトのメインページに移動します。

  2. 右上隅の設定ホイールをクリックして、[保護されたブランチ]を選択します。

  3. [ブランチ]ドロップダウンメニューから、保護するブランチを選択し、[保護]をクリックします。

  4. 完了すると、保護されたブランチが「保護済み」リストに表示されます。

次に、「開発者がマージできる」または「開発者がプッシュできる」をチェックすることにより、開発者権限を持つユーザーに一部のアクセスを許可できます

ソース

73
1615903