当我在项目中拥有开发人员访问权限时,我将代码推到git时遇到了一个问题,但当我拥有主访问权限时,一切都很好。问题从何而来?如何解决呢?

错误信息:

错误:不允许将代码推送到此项目上受保护的分支。 ... 错误:failed to push some refs to…


当前回答

当您发出远程错误消息时:不允许将代码推入此项目。和请求的URL返回错误:403

尝试设置git用户,

要在按下代码前提示用户名,请使用

$ git config --local credential.helper "" 

输入用户名和密码后,登录成功

$ git push

其他回答

替代解决方案,使用GitLab 13.11(2021年4月)

Force push option for protected branches It’s best practice to prevent force push on Git repos, but exceptional cases may occasionally require it. Temporarily removing branch protections in order to conduct a force push may not always be ideal as it requires maintainer access, and causes the settings for branch protection to be lost. GitLab 13.11 introduces a new Allow force push setting for protected branches, which enables users in the Allowed to push list to force push. See Documentation and Issue.

用于GitLab企业版9.3.0

缺省情况下,主分支是受保护的 所以不保护:)

1-选择你的“项目”

2-Select“库”

3-Select“分支”

4选择“项目设置”

5-在“受保护分支”中点击“展开”

6 .之后点击“取消保护”按钮

上述解决方案清楚地解释了问题所在;当你无法控制回购时,提交你的代码的最好方法是创建一个原始回购的Fork,并将你的代码提交到这个新的回购中,这样以后你就可以将它推送到原始的回购中。

对我来说,问题是用户试图推送,但没有被邀请到项目中。我必须去项目信息>成员,并邀请成员作为开发人员,这样他们就可以访问推送。

尝试按每个链接进行更改

https://docs.gitlab.com/ee/user/project/protected_branches.html

使项目不受维护人员或开发人员的保护,以便提交