Ошибка: RPC не удалось; result = 22, HTTP-код = 400

Я пытаюсь подключить свое приложение к Heroku, но я получаю это сообщение об ошибке. Я огляделся, кто-то упомянул о том, что GitHub недавно начал перенаправлять доступ к http-репозиторию на https, и кажется, что ваш git недоволен этим изменением. Но у меня возникают проблемы с нажатием на герою, любая помощь будет высоко оценена.

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

Ответ 1

Это может произойти из-за того, что Heroku Git не понимает мелкий клон, как упоминалось здесь.

Обходной путь - отключить мелкий клон перед развертыванием.

git fetch --unshallow

Ответ 2

измените свой постбуфер

git config --global http.postBuffer 52428800

то вы postbuffer - 50M.

Ответ 3

Проблема (может быть), что вы, вероятно, используете git clone --depth .. для своего репозитория и создали так называемую мелкую копию (без истории). Если вы клонировали чужой репозиторий (!), Просто удалите папку /.git и создайте репозиторий rereate как новый с помощью

cd <my-project>/
git init

Затем вы можете нажать даже с удаленным https://<youprojectname>.herokuapp.com/

Ответ 4

Я надеюсь, что это не придет поздно, но для развертывания Heroku требуется полный Git клон. По умолчанию Pipelines клонирует ваш репозиторий с глубиной 50, чтобы сократить время сборки. Вы можете сконфигурировать свой Pipeline, чтобы выполнить полный Git клон в файле bitbucket-pipelines.yml.

попробуйте добавить полную глубину клона в ваш файл yml.

  image: node:6
  clone:
     depth: full

Ответ 5

Это может быть сбой, как о котором я упоминал здесь.
(На самом деле, как только я пишу это, у GitHub есть "перерыв в обслуживании"!)

Убедитесь, что вы можете воспроизвести проблему с помощью http или https-url.
Если это сохранится, просто попробуйте и перейдите к ssh url

git remote set-url heroku [email protected]:yourRepo

(это рекомендуемый подход, поскольку heroku обычно поддерживает только ssh)

Ответ 6

Для Rails 4: убедитесь, что вы добавили камень "rails_12factor" в ваш Gemfile.