当我在项目中拥有开发人员访问权限时,我将代码推到git时遇到了一个问题,但当我拥有主访问权限时,一切都很好。问题从何而来?如何解决呢?
错误信息:
错误:不允许将代码推送到此项目上受保护的分支。 ... 错误:failed to push some refs to…
当我在项目中拥有开发人员访问权限时,我将代码推到git时遇到了一个问题,但当我拥有主访问权限时,一切都很好。问题从何而来?如何解决呢?
错误信息:
错误:不允许将代码推送到此项目上受保护的分支。 ... 错误:failed to push some refs to…
当前回答
对我来说,问题是用户试图推送,但没有被邀请到项目中。我必须去项目信息>成员,并邀请成员作为开发人员,这样他们就可以访问推送。
其他回答
对我来说,在创建个人访问令牌时,选择开发人员而不是维护人员的位置是一个问题。
选择维护者解决了这个问题。
这被认为是Gitlab中的特性。
维护者/所有者访问永远不能再次强制推送默认和受保护的分支,如本文档所述
没有问题,一切都按预期进行。
在GitLab中,可以保护一些分支。默认情况下,只有维护者/所有者用户可以提交到受保护的分支(参见权限文档)。默认情况下主分支是受保护的——它迫使开发人员在将合并请求集成到主代码之前发出合并请求,并由项目维护者进行验证。
你可以在项目设置中打开和关闭选定分支的保护(具体取决于GitLab版本-见下面的说明)。
在相同的设置页面上,您还可以允许开发人员推送到受保护的分支。在此设置下,保护将仅限于拒绝需要git push -force的操作(rebase等)。
自从GitLab 9.3
转到项目:“设置”→“存储库”→“扩展”在“受保护的分支”
我不太确定这个变化是什么时候引入的,截图来自10.3版本。
现在你可以选择谁被允许合并或推送到选定的分支中(例如:你可以完全关闭推送,强制所有对分支的更改通过合并请求进行)。或者你可以点击“取消保护”来完全从分支中移除保护。
自从GitLab 9.0
类似于GitLab 9.3,但不需要点击“展开”-所有东西都已经展开了:
进入项目:“设置”→“存储库”→向下滚动到“受保护的分支”。
终极吉他9.0
项目:“设置”→“受保护的分支”(如果你至少是给定项目的“Master”)。
然后点击“取消保护”或“开发者可以推送”:
尝试按每个链接进行更改
https://docs.gitlab.com/ee/user/project/protected_branches.html
使项目不受维护人员或开发人员的保护,以便提交
我在本地gitlab服务器的“空分支”上遇到了此错误。有人提到“你不能在空树枝上第一次推”。我尝试通过浏览器在gitlab上创建一个简单的README文件。然后一切都神奇地解决了,问题得到了解决!!我提到我是主人,分支不受保护。