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

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'

这是怎么呢


当前回答

万一能帮到别人

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

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

其他回答

我在我的应用程序中有两个不同的锁文件,删除未使用的解决方案。

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

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

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

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

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

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

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

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

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

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