Categories: GitLab

【GitLab】git pushできないときの対処方法。[You are not allowed to push code to protected branches on this project.]が発生する。

この記事ではgit push時に以下のエラーYou are not allowed to push code to protected branches on this projectが発生した場合の対処方法をメモしておきます。

git push時に「Everything up-to-date」と表示されて困っている方は以下の記事を参考にしてください。

www.zunouissiki.com

それでは解説していきます。

問題

git pushしたとき、以下のような結果になりました。

XXXXX@DESKTOP-AQBVPOG MINGW64 /c/workspace/prj1 (master)
$ git push -u origin master
Counting objects: 3, done.
Writing objects: 100% (3/3), 285 bytes | 285.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
remote: GitLab: You are not allowed to push code to protected branches on this project.
To http://localhost:8888/group1/prj1.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'http://localhost:8888/group1/prj1.git'

このエラーが出たとき、私はGitLabのdeveloperユーザでmasterブランチへpushしようとしていました。
とりあえずGoogle翻訳にかけてみたところ、次のとおり翻訳されました。

あなたがこのプロジェクトに保護されたブランチにコードをプッシュすることはできません。

そして気づきました。developerユーザの場合、masterブランチへpush出来ないことを。
次の画像を見ると、masterブランチがprotectedになっていることを確認できました。

対処方法

protectedが付いているブランチへはgit pushすることができません。
なので、一旦別ブランチへpushしたあと、マージリクエストを作成すればOKです。

以上。

shiakisudev