Git问题:出现报错-You are not allowed to push code to protected branches on this project


目录

  • 前言
  • 问题
  • 原因
  • 解决
  • 办法1
  • 办法2
  • 办法3
  • 最后


前言

最近不是在做数据安全分类分级的项目吗,所以在公司的gitLab上新创建了一个空白项目,但是在本地创建分支后提交到远程时出来问题。

问题

执行提交git push的时候, 提示如下图

gitlab启动后无法访问 gitlab you are not allowed_笔记


然后跟随提示执行了下面命令

git push --set-upstream origin master

结果就出现了报错:GitLab:不允许将代码推送到该项目的受保护分支

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

gitlab启动后无法访问 gitlab you are not allowed_github_02

原因

gitlab对应的分支进行分支保护设置

而且该项目是一个空项目,没有任何文件,又不是我创建的,所以也没有对应权限

解决

解决办法也要视情况而定

办法1

如果是像我这种新的空项目,找创建项目的owner老哥,在项目中创建一个文件后,就会出现master分支了,然后我们再基于master分支创建其他分支就OK了

办法2

如果不是空项目,那么可以找创建项目的owner老哥取消对分支的保护设置即可

操作步骤即截图如下

“Settings” -> “Repository” -> scroll down to “Protected branches” 改成unprotected就好

gitlab启动后无法访问 gitlab you are not allowed_笔记_03


(参考来源-Fix GitLab error: “you are not allowed to push code to protected branches on this project”?

办法3

可能是你在该项目中的角色权限不足,那么可以更改在项目中的角色
点击Members标签页,搜索目标用户,点击管理员设置图标,修改仓库成员角色,将成员设置为仓库管理员即可


不同的问题要视情况而定了,我是符合第一种情况的

看看gpt的回答

问:Git出现报错-You are not allowed to push code to protected branches on this project

这个错误提示表明你正在尝试将代码推送到被保护的分支,而你没有足够的权限执行这个操作。这是Git中的一种常见情况,通常是为了确保对特定分支的更改经过审查或遵循一些规则。

要解决这个问题,你可以尝试以下几个步骤:

  1. 检查你的权限: 确保你有推送到被保护分支的权限。你可能需要联系项目的管理员或维护者,以获取适当的权限。
  2. 检查分支保护规则: 确保你了解被保护分支的规则。这可能包括只允许合并请求(Pull Requests)或需要特定的代码审查(Code Review)等。你可以在项目设置或仓库设置中找到这些规则。
  3. 使用合并请求: 如果被保护分支要求所有更改通过合并请求进行,确保你已经创建了一个合并请求,并通过合并请求将更改引入被保护的分支。这是一种常见的工作流程,特别是对于团队协作的项目。
  4. 联系管理员: 如果以上步骤都没有解决问题,联系项目管理员或仓库所有者。他们可以检查并调整你的权限,以确保你可以推送到被保护的分支。

请注意,确保在执行任何可能影响仓库状态的操作之前,仔细了解项目的规则和工作流程,并在需要时与团队成员或管理员协调。