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

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

其他回答

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

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

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

你可以在以下网址找到:

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

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

在我的例子中,我收到这条消息是因为这个分支在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

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

我也遇到过同样的问题。 解决这个问题的方法是切换到另一个分支,然后再回到原来的分支。

不确定下划线的原因是什么,但这是固定的。