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

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'

这是怎么呢


当前回答

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

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

其他回答

当我试图推到一个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% /

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

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

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

在我的例子中,我收到这条消息是因为这个分支在GitLab中被标记为“受保护”。

就我而言,我自己管理这个项目,但最近将其升级到爱好者级别。在任何情况下,通过herokus浏览器界面检查日志,它有一个关于节点版本(它是一个express应用程序)没有在package.json中定义的非常明确的消息。他们有一个heroku页面的链接,概述了如何修复它,它成功了。

无论如何,我只是把这个加到我的包里。Json,没有进一步的问题!

  "engines": {
    "node": "16.x",
    "npm": "6.x"
  },

为了明确起见,我先检查了我的节点版本和npm版本。我的节点版本是16,但我的npm版本是7。我决定让npm定义为6。只是因为这是heroku页面上列出的。没有遇到任何问题。

$ node --version

$ npm --version

这是heroku帮助页面的链接。

https://devcenter.heroku.com/articles/nodejs-support#specifying-a-node-js-version