git - 无法将提交推送到主分支:预接收挂钩拒绝错误
问题描述
嗨,我是使用 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
访问主分支(我可能没有),但我不够熟悉,无法确定。如果我可以提供任何其他信息,或者如果有人知道发生了什么,我将不胜感激!
解决方案
有人设置了阻止你推送到master
分支的权限
根据不同的供应商,有很多方法可以做到这一点,但您需要与拥有存储库的人交谈
此技术通常用于强制用户向分支发出拉取请求
推荐阅读
- nestjs - 如何使用 NestJS 获取 FullURL?
- blogs - Django博客不显示图像
- python - 如何用熊猫中的特殊字符替换列中的NULL值
- dialogflow-es - 在 Dialogflow-Kommunicate 聊天机器人中使用一次后隐藏快速响应选项
- ios - Alamofire 'SecTrustCopyKey' 仅在 iOS 14.0 或更高版本中可用
- flutter - 如何防止 dartfmt 在 getter 和 setter 之间留下空间
- unix - 使用 grep 获取关键字存在的文件数
- javascript - jsp重定向url标签和response.sendRedirect()方法的区别
- java - Lombok @Data 注解将字段名称从 isood 更改为 good
- snowflake-cloud-data-platform - 将 json UTC 转换为时间戳然后日期时出现意外结果