从我的起源开始,我在机器上克隆了2个本地存储库。第一个存储库工作正常,但是第二个存储库不允许我执行任何推送。失败并显示:
! [remote rejected] DF-abc -> DF-abc (pre-receive hook declined)
error: failed to push some refs to 'git@gitlab.abc.net:myusername/PR.git'
我尝试了-f(强制推送)
git push -v --progress "origin" DF-abc:DF-abc
答案 0 :(得分:3)
当您的Git报告“预接收钩被拒绝”时,表示他们的 Git运行了他们自己设计的程序-可能是shell脚本,但也可能是Python脚本或其他任何脚本程序,并且该程序告诉他们的 Git不接受推送。
无论这是什么程序,我都称它为“预接收脚本”,它应该告诉您为什么它不喜欢您和/或您的提交以及应该做些什么来使其像您和/或您的提交一样。如果它没有告诉您原因,那么,我们也不能。只有控制此脚本的人才能对此进行任何操作。
如果您控制计算机gitlab.abc.net
,则应登录该计算机并修复您的预接收脚本。否则,您实际上不能修复此问题:您必须掌握控制计算机的任何人(并因此控制此脚本),并让他们解决问题。请注意,此修复过程分为两部分:
执行后者将实现前者,尽管您必须再次尝试(这一次从脚本中获得输出 ,该脚本告诉您为什么它不喜欢您,以及您可以做什么做到这一点)。
答案 1 :(得分:0)
这是现有GitLAb中的错误。通过安装GITLab 11.8可以解决此问题
以下是GIT实验室开发团队的实际详细信息:
Gitlab问题:https://gitlab.com/gitlab-org/gitlab-ce/issues/57067 Gitlab合并请求:https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/9569