本地 git 提交已存在的代码到新创建的代码库,然后报错了 you are not allowed to push code to protected branches on this project

经查是因为当前的 gitlab 用户对远程代码库没有操作权限。首先是将当前用户添加到新建代码库的 members 中,并且在提交代码到 master 分支(第一次提交代码会生成 master 分支)时当前用户的 permissions 需要为 Master 才可以提交,用户设置了其他的权限比如常用的 Developer 提交代码到 master 就会报这个错。

解决方法,使用代码库创建者的账号去提交第一次代码,然后当前用户在本地创建新的 dev 分支,然后再提交到远程版本库,之后在服务器上 merge 代码。

或者干脆将当前用户的 permissions 改成 Master(权限最大)。