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

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'

这是怎么呢


当前回答

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

git push -u origin --all

其他回答

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

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

当我试图推到一个dokku实例时,我得到了这个。结果发现我服务器的磁盘已经满了。

跑: du - f

结果是:

Filesystem      Size  Used Avail Use% Mounted on
udev            476M     0  476M   0% /dev
tmpfs           100M  4.4M   95M   5% /run
/dev/xvda1      7.8G  7.4G  8.9M 100% /

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

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

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

你可以在以下网址找到:

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

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

万一能帮到别人

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

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

如果在一个公司的gitlab/ github中,你试图将更改推到一个分支/master, Pre-hook可能意味着你错过了一些输入到提交消息中的参数。

在我的情况下,随着消息,我需要在提交文件中添加bug id, bug url和审批者,然后推送到分支并放置合并请求。

希望这对你有所帮助,当你写提交信息的时候,问问你的导师/朋友提交信息中的要求。