如何解决:您不允许将代码推送到此项目的受保护分支

当我在我的项目中有开发人员访问权限时,我将代码推给git时出现问题,但是当我拥有主控权限时,一切正常。 问题从哪里来? 以及如何解决它?

错误信息:

错误:您不允许将代码推送到此项目上的受保护分支。

错误:未能推一些裁判…

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

在GitLab中,一些分支可以被保护。 默认情况下,只有“主”用户可以提交到受保护的分支。 master分支受默认保护 – 它强制开发人员在将主合并到主代码之前发出合并请求,以供项目主人validation。

您可以在“项目设置”中select分支上打开和closures保护function(具体取决于GitLab版本 – 请参阅下面的说明)。

在相同的设置页面上,您还可以允许开发人员进入受保护的分支。 通过这个设置,保护仅限于拒绝需要git push --force (rebase等)的操作。

由于GitLab 9.0

项目:“设置” – >“仓库” – >向下滚动到“受保护的分支”。

现在,您可以select允许合并或推送到选定分支的人员(例如:您可以closures推送到master ,强制所有分支更改通过合并请求进行)。 或者你可以点击“取消保护”来彻底清除分支机构的保护。

在这里输入图像说明

Pre GitLab 9.0

项目:“设置” – >“受保护的分支”(如果您至less是给定项目的“主”)。

设置 - >受保护的分支

然后点击“解除保护”或“开发者可以推送”:

在这里输入图像说明

为GitLab企业版9.3.0

默认情况下,主分支受到保护,因此无法保护:)

1 – select你的“项目”

2 – select“存储库”

3 – select“分支”

4 – select“项目设置”

5 – 在“受保护的分支”点击“展开”

6,然后点击“取消保护”button

我在https://framagit.org上的资源库中遇到了同样的问题。; 我是存储库的主人,但我有这样的错误。

我没有保护我的项目,然后再次保护,错误消失了。

Framagit已经升级了我之前的推送和有问题的版本之间的gitlab版本。 我想这个升级造成了这个bug。

希望这能帮助别人不浪费时间。