この記事ではgit push
時に以下のエラーYou are not allowed to push code to protected branches on this project
が発生した場合の対処方法をメモしておきます。
git push
時に「Everything up-to-date」と表示されて困っている方は以下の記事を参考にしてください。
それでは解説していきます。
問題
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です。
以上。