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

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'

这是怎么呢


当前回答

这是一个相当老的问题,已经有很多答案了。但我想分享的解决方案,为我工作时与bitbucket(没有管理权限)。我的大多数同事(除了一个人)都没有遇到任何问题。我们俩突然不能再推到精确的分支了(我不知道真正的原因)。 解决方案是:

删除与有问题分支相关的现有拉请求, 删除服务器端的分支, 从本地重新推到远程回购,然后, 再次创建拉取请求。

其他回答

对我来说,错误在于项目没有创建任何分支,而我的角色是开发人员,所以我不能创建任何分支,请求他们给我相关的权限和一切都井然有序!

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

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

Bitbucket:在设置中检查分支权限(可能是“拒绝所有”)。 如果这不起作用,只需将您的分支克隆到一个新的本地分支,将更改推到远程(将创建一个新的远程分支),并创建一个PR。

在我的例子中,在Gitlab的一个项目中有一个Committer限制:

用户只能将通过自己的验证电子邮件提交的提交推到此存储库。

因为我还在我的机器上配置了SSH,所以我的global_user_email在git配置文件中更新了我的机器地址,因此远程不允许推送。

你可以在以下网址找到:

Gitlab ->设置->存储库->推送规则

只要禁用提交限制,它就会工作。