首页 > 解决方案 > 无法将提交推送到主分支:预接收挂钩拒绝错误

问题描述

嗨,我是使用 Git 的新手,我正在研究我公司在 gitlab 上的一个存储库。我们是一个小团队,我已经准备好将更改推送到主分支,当我尝试这样做时,我在下面收到此错误。

remote: GitLab: You are not allowed to push code to protected branches on this project.
! [remote rejected] HEAD -> master (pre-receive hook declined)

当我尝试推送时,系统不会要求我提供任何身份验证详细信息。我有一个具有以下这些范围的个人访问令牌和一个我认为大约一个月前正确设置的 SSH 密钥。我不确定这是否是问题所在,而且我很难弄清楚 Git 实际使用的是什么凭据。

在此处输入图像描述

但是,我能够创建自己的本地分支(称为 jacobs_branch),将我的更改添加并提交到那里,以便它与我一直在做的工作完全保持同步,然后将其作为远程分支推送到存储库。但是当我尝试将此分支合并到 master 上时,我得到了同样的错误。下面是我们在 gitlab.com 上的 repo 的图片,其中包含我的最新分支和较旧的 master 分支。

在此处输入图像描述

那么我无法将更改推送到master分支是我的问题,还是某种权限问题?我还读到我可能需要maintainer访问主分支(我可能没有),但我不够熟悉,无法确定。如果我可以提供任何其他信息,或者如果有人知道发生了什么,我将不胜感激!

标签: gitgitlabpush

解决方案


有人设置了阻止你推送到master分支的权限

根据不同的供应商,有很多方法可以做到这一点,但您需要与拥有存储库的人交谈

此技术通常用于强制用户向分支发出拉取请求


推荐阅读