错误:RPC失败; result = 22,HTTP代码= 400

时间:2013-10-18 12:34:15

标签: heroku github

我正在尝试将我的应用推送到Heroku,但我收到此错误消息。我环顾四周,有人提到GitHub最近开始将http存储库访问重定向到https,看来你的git对这个改变不满意。但是我很难向heroku推进,任何帮助都会非常感激。

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

6 个答案:

答案 0 :(得分:11)

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

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

git fetch --unshallow

答案 1 :(得分:6)

更改后缓冲区

git config --global http.postBuffer 52428800

然后你的postbuffer是50M。

答案 2 :(得分:3)

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

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

  image: node:6
  clone:
     depth: full

答案 3 :(得分:2)

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

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

然后您可以使用远程https://<youprojectname>.herokuapp.com/

进行推送

答案 4 :(得分:1)

这可能是一个小故障,如I mentioned in here (实际上,正如我写的那样,GitHub正在进行“主要服务中断”!)

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

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

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

答案 5 :(得分:0)

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