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

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-lab,你可以在

Settings > Repository > Protected Branches .

:)

其他回答

万一能帮到别人

我有一个空白的repo,没有主分支来取消保护(在Gitlab),所以在运行git之前push -u origin——all

我必须先运行git push -u origin master, 暂时取消保护主分支 推其余的(——all &——标签)

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

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

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

git reset --soft HEAD~1

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

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

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

对我来说,一切都很顺利,直到Bitbucket今天(2020年4月21日)自动更改了他们的政策。这恰好与今天推出的新功能“工作区”(Workspaces)相一致,所以我怀疑它与此有关。

解决方法:我(作为管理员)按照说明在用户界面中添加电子邮件地址到用户(您正在使用的电子邮件可以在git config——list中找到)

当GitLab服务器正在进行一些更改时,我收到了这条消息。第二天,推的效果很好。无论如何,正如其他人指出的那样,请与维护人员进行检查以确定。