【问题标题】:error: RPC failed; result=22, HTTP code = 400错误:RPC 失败;结果 = 22,HTTP 代码 = 400
【发布时间】:2013-10-27 07:19:48
【问题描述】:

我正在尝试将我的应用程序推送到 Heroku,但我收到了此错误消息。我环顾四周,有人提到 GitHub 最近开始将 http 存储库访问重定向到 https,看来您的 git 对此更改不满意。但是我在推送到 heroku 时遇到了麻烦,任何帮助都将不胜感激。

 error: RPC failed; result=22, HTTP code = 400

【问题讨论】:

  • 我们能否获得 heroku git push 的完整日志,包括您正在运行的确切命令?另外,这是什么类型的应用程序?以及你的 git 版本(通过 git --version 获得)。
  • 嗨changrainbows,我不确定是什么导致了这个问题。但经过几次尝试后,它现在可以工作了。但是,我仍然不明白错误消息的含义。非常感谢您的帮助先生。

标签: heroku github


【解决方案1】:

这可能是由于 Heroku 的 Git 不理解 here 中提到的浅层克隆的原因。

解决方法是在部署前禁用浅层克隆。

git fetch --unshallow

【讨论】:

  • 为我工作。谢谢。
【解决方案2】:

改变你的后缓冲

git config --global http.postBuffer 52428800

那么你的后缓冲是 50M。

【讨论】:

  • 为我工作,+1。谢谢
【解决方案3】:

我希望这不会太晚,但是 Heroku 部署需要完整的 Git 克隆。默认情况下,Pipelines 以 50 的深度克隆您的存储库,以缩短您的构建时间。您可以在 bitbucket-pipelines.yml 文件中配置 Pipeline 以执行完整的 Git 克隆。

尝试将完整的克隆深度添加到您的 yml 文件中

  image: node:6
  clone:
     depth: full

【讨论】:

  • 完美无瑕?
【解决方案4】:

这可能是一个小故障,如I mentioned in here
(实际上,就在我写这篇文章的时候,GitHub 正在发生“重大服务中断”!)

确保您可以使用 http https url 重现问题。
如果仍然存在,只需尝试切换到 ssh url

git remote set-url heroku git@heroku.com:yourRepo

(这是推荐的方法,因为heroku normally support ssh only

【讨论】:

    【解决方案5】:

    问题(可能是)您可能将git clone --depth .. 用于您的存储库并且创建了所谓的浅拷贝(没有历史记录)。 如果您克隆了 其他人的存储库(!),只需删除 /.git 文件夹并使用

    创建一个重新创建的存储库作为 new
    cd <my-project>/
    git init
    

    然后你甚至可以远程推送https://&lt;youprojectname&gt;.herokuapp.com/

    【讨论】:

      【解决方案6】:

      对于 Rails 4:确保将“rails_12factor”gem 添加到 Gemfile。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-12-22
        • 2014-05-17
        • 1970-01-01
        • 2012-11-07
        • 2014-04-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多