当我尝试推送我提交的更改时,我得到以下错误...
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'
到底怎么回事?
发布于 2011-11-03 08:09:20
你应该问问在git@mycogit/cit_pplus.git
维护回购的人。
您的提交被该repo的pre-receive
hook拒绝(这是一个用户可配置的脚本,用于分析传入的提交并决定它们是否足够好,可以被接受到repo中)。
让那个人更新钩子也是一个好主意,这样它就会打印出拒绝的原因。
如果维护者就是您自己,那么看起来您在服务器端的设置就有问题。届时请分享更多信息。
发布于 2011-11-03 08:11:25
我敢打赌,您正在尝试非快进推送,但钩子会阻止它。如果是这种情况,只需在推送之前运行git pull --rebase
,以根据最新的代码库重新设置本地更改的基础。
发布于 2016-02-19 11:39:29
文件大小很重要。单个文件的大小限制为~120MB。在我的例子中,使用Visual Studio的.gitignore列出了该文件,但该文件仍被提交。使用git cli时,我们可以获得有关错误的更多详细信息。
预接收钩子被拒绝是大文件的结果。基本上验证了推送。
为了解决这个问题,我使用以下命令删除了最后一个提交:
git reset --soft HEAD~1
然后,我从提交中排除了该文件。
注意:使用HEAD~N返回到之前的N次提交。(例如,3、4)始终使用--软开关来维护文件夹中的更改
希望能有所帮助。
https://stackoverflow.com/questions/7986139
复制相似问题