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

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 commit -m "branch_name:添加Git脚本"

其他回答

在我的例子中,这是因为我不小心在未提交的推送中添加了一个巨大的文件,无论我之后做什么拉或重置或rm,我都无法摆脱它。

我的肮脏解决方案,但可行的解决方案是重命名当前目录,重新克隆目录到本地,并手动反映更改到重新克隆的本地目录…

这听起来不太好,但确实有效……

在我的情况下(Bitbucket),问题是重写分支历史是不允许限制的。 进入存储库设置->分支权限编辑所选分支的权限,并勾选“允许重写分支历史记录”

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

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

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

git reset --soft HEAD~1

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

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

您的远程还不存在默认分支(例如master)。所以你首先需要在git远程服务器上创建一个主分支(例如创建一个默认的README)。Md文件),然后尝试使用以下命令推送所有现有的本地分支:

git push -u origin --all

这可能是因为您没有将提交推到master等分支的访问权限。您可以要求维护者赋予您推送提交的权限。