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

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 push origin——delete [branch-name])。问题是这个分支在bitbucket中被标记为不可删除。

其他回答

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

我使用GitKraken,我们做了一个本地分支,然后我们合并了两个远程分支,然后我们尝试将本地分支推到原点。它不能使用相同的错误消息。

解决方案是创建本地分支,并首先将其推到原点,然后进行合并。

您应该在git@mycogit/cit_pplus.git上询问维护该回购的人员。

你的提交被该repo的pre-receive钩子拒绝了(这是一个用户可配置的脚本,用于分析传入的提交,并决定它们是否足够好,可以接受到repo中)。

让那个人更新钩子也是个好主意,这样它就会打印出拒绝的原因。

如果维护者是您自己,那么您在服务器端的设置似乎遇到了问题。到时请分享更多信息。

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

在我的例子中,我们有用于提交消息的钩子,我们的服务器脚本接受提交,如果它们有提交消息的特殊格式“<JIRA ID><消息>”。如果相应的Jira ticket不存在或在提交消息中有一些特殊的符号,它(钩子)拒绝提交。当我在提交消息中添加/,[,>等时,我面临这个错误,删除这些工作很好。