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

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'

这是怎么呢


当前回答

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

其他回答

你应该看看日志。我只是遇到了同样的错误,并从日志中意识到这是因为我有一个纱线。Lock和package-lock.json

在我的情况下,我有一个新的存储库,推送一个分支('UCA-46',而不是'master'),重新创建它,强制再次推送并得到错误。没有网钩。我执行了@ThiefMaster建议的git pull -rebase,不得不再次rebase,并能够推动分支。但这是一种奇怪而艰难的方式。

然后我看到Git推送错误预接收钩子被拒绝。我发现我的树枝受到了保护。我解除了保护,又可以用力推了。

在我的情况下,我得到这个错误,因为具有相同名称的分支已经存在。从git服务器上删除这个分支可以解决这个问题。

万一能帮到别人

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

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

我解决了这个问题,重新生成SSH密钥,并将其添加到GitHub帐户。