关于分支:修复GitLab错误:“您不能将代码推送到此项目的受保护分支”?

Fix GitLab error: “you are not allowed to push code to protected branches on this project”?

当我在我的项目中有开发人员访问权的时候,当我将代码推到Git时,我有一个问题,但是当我有主访问权的时候,一切都是正常的。问题出在哪里?如何修复?

错误消息:

error: You are not allowed to push code to protected branches on this project.
...
error: failed to push some refs to ...


没问题-一切都按预期工作。

在Gitlab中,可以保护一些分支。默认情况下,只有维护者/所有者用户可以提交到受保护的分支(请参阅权限文档)。默认情况下,master分支受到保护——它强制开发人员发出合并请求,在将其集成到主代码之前,由项目维护人员进行验证。

您可以在项目设置中打开和关闭对选定分支的保护(具体取决于Gitlab版本-请参阅下面的说明)。

在相同的设置页面上,您还可以允许开发人员进入受保护的分支。启用此设置后,保护将仅限于拒绝需要git push --force的操作(重新平衡等)。

从Gitlab 9.3开始

转到项目:"设置"→"存储库"→"扩展"到"受保护的分支"

enter image description here

我不太确定这个更改是什么时候引入的,截图来自10.3版本。

现在,您可以选择允许合并或推入所选分支的人(例如,您可以完全关闭对master的推送,强制通过合并请求对分支进行所有更改)。或者您可以单击"取消保护"以完全取消对分支的保护。

从Gitlab 9.0开始

与Gitlab 9.3类似,但无需单击"展开"-所有内容都已展开:

转到项目:"设置"→"存储库"→向下滚动到"受保护的分支"。

氧化镁

Gitlab 9.0之前

项目:"设置"→"受保护的分支"(如果您至少是给定项目的"主控")。

氧化镁

然后单击"Unprotect"或"Developers can push":

氧化镁


对于Gitlab Enterprise版本9.3.0

默认情况下,主分支受保护所以取消保护:)

1-选择您的"项目"

2-选择"存储库"

3-选择"分支机构"

4-选择"项目设置"

5-在"受保护的分支"中单击"展开"

6-点击"取消保护"按钮后


尝试根据链接进行更改

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

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


我在本地Gitlab服务器上的"空分支"上遇到此错误。有人说"你不能第一次推空树枝"。我试图通过浏览器在Gitlab上创建一个简单的自述文件。然后所有的事情都神奇地解决了,问题也解决了!!我说我是主人,树枝没有受到保护。


上述解决方案清楚地解释了问题所在;当您无法控制回购时,提交代码的最佳方法是创建原始回购的分支并将代码提交给新回购,以便稍后将其推送到原始回购。


我在我的存储库中遇到了同样的问题。我是知识库的主人,但我犯了这样一个错误。

我已经取消了对项目的保护,然后又重新进行了保护,错误就消失了。

我们在我以前的推送和有问题的推送之间升级了Gitlab版本。我想这次升级造成了这个bug。