チーム開発において、gitの使い始めではどうしてもmasterへPushしてしまうトラブルが付きものです。
GitLabにはProtected branchというPush権限を限定する設定があり、これを使えば誤ったPushを防ぐことができます。
設定方法
GitLabで、設定したいプロジェクトのルートに移動します。
設定する対象の権限の確認
GitLabで設定済みの権限を確認しましょう。
今回はDeveloperはmasterにPushできないようにすることにします。デフォルトブランチ名がmaster以外の場合は、masterを適宜読み替えてごらんください。
設定画面に移動
現在の設定を確認
各列の説明は以下。
-
Protected branch
PushやMergeに何らかの制限がかかっているブランチ名が表示されます。"Defalut"とマークがあるのがdefault branchです。 -
Last commit
そのbranchの最後のPush日とcommitへのリンクです。 -
Allowed to merge
ここで選択したユーザにのみMergeが許可されます。
Merge requestを可能にしたいグループをここで選択してください。 -
Allowed to push
Pushを許可する権限です。指定branchに対して直接Pushができます。Merge requestを必須とする運用ならば、ここはno oneもしくはMasterだけに留めておくべきです。 -
Unprotect
ここを押すと、そのブランチの権限設定が抹消されます。
branchを追加する
下記の部分から制限を設けたい、新しいbranchの追加が出来ます。
BranchのInput boxにbranch名を記入しましょう。入力候補が出るのでそこで選ぶこともできます。
あとは、各操作を可能にする権限を選択したら"Protect"を押して設定完了です。
注意
この設定はRepository毎に必要ですので、複数のProjectに対して設定を行いたい場合には、それぞれ設定してください。