GitLabでプロジェクトメンバーがmasterにpushできない問題

2 min

プロジェクトをGitLabで管理していて、非常に便利に使っていたのですが。

あるメンバーがmasterブランチにpushしようとしたところ、以下のようなメッセージが出てpushに失敗してしまいました。

GitLab: You are not allowed to push code to protected branches on this project.

どうにかしたいので対策を考えます。

pushできなかった原因

今回pushを試みたメンバーはロールがdeveloperでした。

プロジェクトのmasterブランチはデフォルトでは保護されていて、maintainer以上の権限がないとpushが弾かれてしまうようです。

まぁ、masterにいきなりpushするような使い方はアレなんで当たり前といえば当たり前なんですが……。

わざわざブランチを作るまでもない修正とかってあるじゃないですか。

なので、developerの権限でもpushする方法を考えました。

対策

保護されたmasterブランチに権限の足りないユーザーがpushする方法は二つ。といっても、一つは間接的な対策にしかならないのですが……。

おとなしくブランチを作る

一つは新しくブランチを作る方法です。

今回弾かれたのはmasterにいきなりpushするんじゃないぞっていう話なので、おとなしくブランチを作り、そちらでpushしてmasterでマージするのが賢明です。

とはいえやはり一々めんどくさいし、プロジェクトメンバーを信頼しているという場合もあるでしょう。

そんな時には設定を変更してしまう方法もあります。

masterの保護を弱める

もう一つの方法として、masterブランチ自体のA.T.フィールドを中和してしまうこともできます。

プロジェクトの設定リポジトリProtected Branchesで、masterブランチの保護をどこまで適用するかが設定できます。

「マージを許可」「プッシュを許可」のドロップダウンリストで、それぞれの役割を選択することでpushできるようになります。

完全に保護を外してしまいたい時は、右のUnprotectボタンを押下すると保護設定を削除できます。

さいごに

GitLabで社内や仲間内でプロジェクト管理している時、この現象でつまづいた人の役に少しでも立てたら嬉しいです!

未経験からITエンジニアになりました!

今までは趣味としてプログラミングを独学してきたけど、やっぱりこれを仕事にしたい……!

そう思い立ったはいいものの、世間の情勢などもあり未経験でのエンジニア職の中途採用が絶望的な状況

大手転職エージェントを通して何社も面接を受けては落ちてを繰り返し、諦めかけていたのですが……。

気分転換で登録した転職サービスで、とある企業から内定をいただくことができました

同じように未経験からITエンジニアを目指している方へ、どんなに厳しくても可能性がゼロではないことを伝えたい。

ポイントは、IT業界に精通した転職サービスを利用すること。
これだけで少なくとも面接へ進める可能性がグッと高くなります。

あなたがもしIT特化の転職サービスに未登録で苦しんでいるなら、ぜひ利用してみてください。きっと可能性が広がりますよ!

\無料のIT系転職サービス/

関連記事
はるしか

はるしか

ゲーム・漫画・アニメ・クルマ・ガジェットなど多趣味な雑食系で、趣味でプログラミングをポチポチしてたら本業エンジニアになってしまった人。
動物占いは子鹿。
忘れっぽい自分へのメモ代わりの記事が多めです。

FOLLOW

カテゴリー:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です