当我尝试推动我已经提交的更改时,我得到以下错误…

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'

这是怎么呢


当前回答

我敢打赌,你正在尝试一个非快进推球,而钩球挡住了它。如果是这种情况,只需在push之前运行git pull——rebase,在最新的代码库上重新构建本地更改。

其他回答

文件大小很重要。单个文件的限制为~120MB。在我的例子中,使用Visual Studio的.gitignore列出了该文件,但该文件仍然被提交。当使用git cli时,我们可以获得关于错误的更多详细信息。

预收勾谢绝的原因是档案大。基本上是在验证推送。

为了解决这个问题,我删除了最后一次提交使用:

git reset --soft HEAD~1

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

注意: 使用HEAD~N返回到前N次提交。(即3、4) 始终使用——软开关来维护文件夹中的更改

这实际上是在BitBucket服务器端启用YACC时发生的。YACC是启用的,以便在提交消息中提到JIRA问题名称。所以当你提交任何东西时,至少要在提交消息中保留你的JIRA号码,然后你可以添加自己的消息。

问题:“PUSH Failed refs/head/ - pre-receive hook declined”

我遇到了一个问题,无法将我的更改推到我的原始分支和任何特定项目存储库的主分支,因为该回购的大小超过了2GB的硬限制。它抛出了错误。 这是因为我们在不知情的情况下将测试数据从其他测试分支推送到bitbucket。

PUSH失败refs/head/ - pre-receive hook拒绝

所以试着检查一下,其他项目的回购也是一样的,他们没有任何问题。

Fix:

我的同事注意到,当我们将项目克隆回本地时,项目的大小是110MB。因此,我们开始清理之前合并的分支和不再需要的活动分支。 一旦清理了几个分支,我们意识到回购的大小从2GB急剧下降到120MB。然后我们尝试将这些更改推到我的分支,它起作用了。

当我尝试合并文件大小大于远程存储库所允许的更改时,我遇到了这个问题(在我的情况下,它是GitHub)

我也遇到过同样的问题。 解决这个问题的方法是切换到另一个分支,然后再回到原来的分支。

不确定下划线的原因是什么,但这是固定的。