尝试推送时出现Git错误 – 预接收钩拒绝

当我尝试推送我已经提交的更改时,出现以下错误…

git.exe push -v --progress "origin" iteration1:iteration1 remote: ********************************************************************* To ssh://git@mycogit/cit_pplus.git ! [remote rejected] iteration1 -> iteration1 (pre-receive hook declined) error: failed to push some refs to 'ssh://git@mycogit/cit_pplus.git' 

这是怎么回事?

你应该问谁维护回购在git@mycogit/cit_pplus.git

您的提交被该回购的pre-receive钩拒绝(这是一个用户可configuration的脚本,旨在分析传入的提交,并决定它们是否足以被接受回购)。

要求那个人更新钩子也是一个好主意,所以会列出拒绝的原因。

如果维护人员是你自己,那么看起来你在服务器端的设置有问题。 那么请分享更多的信息。

我敢打赌,你正在尝试一个非快进的推动,并挂钩它。 如果是这样的话,只需运行git pull --rebase然后推送最新代码库中的本地更改。

文件大小很重要。 单个文件有一个〜120MB的限制。 在我的情况下,使用Visual Studio的.gitignore列出了文件,但文件仍然被提交。 当使用git cli时,我们可以得到更多关于错误的详细信息。

预先接收钩下降是由于大文件。 基本validation推送。

为了解决这个问题,我使用下面的命令删除了最后一个提交

 git reset --soft HEAD~1 

然后我从提交中排除了文件。

希望能帮助到你。

这可能是因为你没有权限推送一些分支,比如master,你可以问维护者给你的权限

我试图合并更改文件大小远远超过远程存储库允许(在我的情况下,这是GitHub)

当GitLab服务器正在进行一些更改时,我收到了这条消息。 第二天推进工作正常。 无论如何,正如其他人指出的,请与您的维护人员确定。

在我的情况下,我得到这个消息,因为分支在GitLab中被标记为“受保护”。

当我试图推送到一个dokku实例时,我得到了这个。 原来我的服务器上的磁盘已满。

Ran: du -f

结果是:

 Filesystem Size Used Avail Use% Mounted on udev 476M 0 476M 0% /dev tmpfs 100M 4.4M 95M 5% /run /dev/xvda1 7.8G 7.4G 8.9M 100% /