'heroku' не выглядит как репозиторий git


183

Когда я пытаюсь отправить свое приложение в Heroku, я получаю такой ответ:

fatal: 'heroku' does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Я попробовал «ключи героя: добавить», но все равно получил тот же результат. У меня уже есть ключ ssh для моей учетной записи GitHub.


какую команду вы использовали для нажатия? и какие шаги вы выполняли ранее?
StickMaNX

1
взгляните на вывод, git remote -vчтобы увидеть, какие пульты вы настроили.
Джон Бейнон

1
убедитесь, что вы находитесь в правильном каталоге. это была моя проблема.
tmthyjames

1
@tmthyjames - блин, это тоже была моя проблема, спасибо!
Энди Маккалоу

Ответы:


437

Чтобы добавить приложение Heroku в качестве удаленного Git, необходимо выполнить heroku git:remote -a yourapp.

Источник: Развертывание с помощью Git


6
Это решение, если вы клонировали репо.
Джаллардо

1
После добавления действительного удаленного, обратите внимание, что git push heroku masterпроизойдет сбой, если вы пытаетесь выполнить развертывание из подкаталога. Развертывание с помощью heroku должно быть выполнено из корневого каталога с действительными папками package.json и .git, как сказано здесь stackoverflow.com/questions/38658038/…
Junior Mayhé

1
Я бы добавил, что под yourappвами подразумевается название приложения heroku, которое не всегда может совпадать с названием вашего приложения в git или локально и т. Д.
Ли Макалли

49

Вы можете попробовать следующее в вашем корневом каталоге:

// инициализируем git для вашего проекта, добавляем изменения и выполняем коммит

git init
git add .
git commit -m "first commit"

// создать приложение heroku и нажать на heroku

heroku create
git push heroku master

Не уверен, где вы находитесь в процессе. Вам также не нужен github для развертывания на heroku, просто git. Надеюсь это поможет!


2
Это сработало для меня. Просто нужно запустить Герою, создать заново. По какой-то причине первый раз не создал Git Remote.
Джошуа Дэнс

1
Перед push нужно добавить 'heroku git: remote -a yourapp'
Jitendra

35

Во-первых, убедитесь, что вы вошли в Heroku:

heroku login 

Введите свои учетные данные.

Обычно эта ошибка возникает при использовании клонированного репозитория git на новом компьютере. Даже если ваши учетные данные heroku уже находятся на компьютере, между локальным клонированным репо и heroku пока нет никакой связи. Для этого перейдите в корневой каталог клонированного репозитория и запустите

heroku git:remote -a yourapp

1
Просто примечание для начинающих, yourappвыше - название вашего приложения в настройках на панели инструментов Heroku
nkhil

9

Следующая официальная статья Heroku :

Инициализировать GIT

$ cd myapp
$ git init

$ git add .
$ git commit -m "my first commit"

Затем создайте (инициализируйте) приложение heroku с помощью:

$ heroku create YourAppName

Наконец добавьте git remote:

$ heroku git:remote -a YourAppName

Теперь вы можете безопасно развернуть свое приложение с помощью:

$ git push heroku master

Вам следует подождать некоторое время и посмотреть, не появятся ли какие-либо ошибки / прерывания на консоли при развертывании. Подробности смотрите в статье о героку .


7

Выполните следующие действия:

$ heroku login

Создать новый Git-репозиторий
Инициализировать Git-репозиторий в новом или существующем каталоге.

$ cd my-project/
$ git init
$ heroku git:remote -a appname

Развертывание приложения
Зафиксируйте свой код в хранилище и разверните его в Heroku с помощью Git.

$ git add . 
$ git commit -am "make it better"
$ git push heroku master

Существующий Git-репозиторий.
Для существующих репозиториев просто добавьте пульт Heroku Remote.

$ heroku git:remote -a appname

Ошибка: ---> Приложение не совместимо с buildpack: https://codon-buildpacks.s3.amazonaws.com/buildpacks/heroku/python.tgz... я не понимаю, где это не так?
KingRider

@KingRider Проверьте, какое приложение вы развертываете. Если вы развертываете приложение Python, нет необходимости указывать Python в файле Requirement.txt
MD Shahrouq

4

Возможно, стоит проверить файл конфигурации в папке .git. Если параметры heroku отсутствуют, то вы получите эту ошибку

[remote "heroku"]
    url = git@heroku.com:`[Your heroku app].git
    fetch = +refs/heads/*:refs/remotes/heroku/*

папка .git должна находиться в каталоге файлов локального компьютера для приложения, созданного вами в heroku. например, C: \ Users \ You \ Your app.git

Надеюсь это поможет


3

Моя проблема заключалась в том, что я использовал git (вместо heroku git) для клонирования приложения. Тогда мне пришлось:

git remote add heroku git@heroku.com:MyApp.git

Не забудьте изменить MyApp на имя вашего приложения.

Тогда я мог бы продолжить:

git push heroku master

3

Если эта ошибка появляется, это потому, что нет пульта с именем Heroku. Когда вы создаете Heroku, если git remote еще не существует, мы автоматически создаем его (при условии, что вы находитесь в git repo). Для просмотра ваших пультов введите:

« git remote -v» # Для приложения с именем appname вы увидите следующее:

$ git remote -v
heroku git@heroku.com:appname.git (fetch)
heroku git@heroku.com:appname.git (push)

Если вы видите пульт для своего приложения, вы можете просто « git push master» и заменить его на фактическое имя пульта.

Если он отсутствует, вы можете добавить пульт с помощью следующей команды:

git remote add heroku git@heroku.com:appname.git

Если вы уже добавили пульт под названием Heroku, вы можете получить ошибку, подобную этой:

fatal: remote heroku already exists.

Итак, удалите существующий пульт и добавьте его снова с помощью приведенной выше команды:

git remote rm heroku

Надеюсь это поможет…


2

Для меня ответ состоял в том, чтобы перейти в корневой каталог приложения перед запуском heroku createилиgit push heroku master


1

Я столкнулся с той же ошибкой, совершив гораздо более начинающую ошибку: я печатал на Heroku с заглавной буквы «H» вместо строчной.

Я понимаю, что это, конечно, не решение для всех, кто сталкивается с этой ошибкой, но это было в моем случае.


1

Я получил ту же ошибку, и оказалось, что я не в том каталоге. Это простая ошибка - дважды проверить, что вы находитесь в корне, а затем запустить heroku createи heroku git push masterснова. Конечно, вы должны были сделать git init, как уже упоминалось в ответе StickMaNX выше, еще до того, как наступит этап героку.



1

Вы забыли связать название своего приложения с вашей герокой. Это очень распространенная ошибка. если ваше приложение не создано, используйте:

heroku create (optional app name)

еще:

git add .
git commit -m "heroku commit"

heroku git:remote -a YOUR_APP_NAME

git push heroku master

0

Для тех, кто пытается заставить героку работать на codeanywhereIDE:

heroku login
git remote add heroku git@heroku.com:MyApp.git
git push heroku

0

Мне пришлось запустить командную строку Windows с правами администратора


Спасибо за Ваш ответ. Возможно, вы могли бы объяснить ОП, как это делается? Будущим читателям этой ветки всегда помогает дать максимально подробные ответы.
Нильс

@niels просто найдите значок cmd, например, через меню «Пуск». Затем щелкните правой кнопкой мыши и нажмите «Запуск от имени администратора»
Иисус Родригес

0

Следующие команды хорошо подойдут для развертывания приложения ruby ​​на rails на heroku, если heroku уже установлена ​​на машине разработчика. # обозначает комментарий

  1. вход в Герою
  2. создать геройку
  3. ключи heroku: добавьте # это добавляет ключи локальной машины к heroku, чтобы избежать повторного ввода пароля
  4. гит пуш герой мастер
  5. heroku переименовывает new-application-name #rename application в предпочтительное имя, отличное от автоматически созданного имени heroku


0

У меня была та же проблема, но позже я узнал, что забыл создать приложение перед его развертыванием. Попробуйте следующие шаги в терминале.

heroku login
heroku create

Я просто изучаю героку и часто забываю шаги, поэтому я написал статью об этом. Вы можете найти его здесь: https://medium.com/@saurav.panthee/deploy-flask-app-to-heroku-under-3-minutes-2ec1c0bc403a


0

Я видел все ответы здесь, и единственное, чего не хватает, это после выполнения этих шагов:

$ git add .
$ git commit -m "first heroku commit"

Вы должны запустить команду ниже:

$ heroku git:remote -a <YourAppNameOnHeroku>

И наконец, запустите это:

$ git push -f heroku <NameOfBranch>:master

Обратите внимание, что я использовал < NameOfBranch >, потому что, если вы в данный момент находитесь в другой ветке, ведущей к мастеру, она все равно будет выдавать ошибки, поэтому, если вы работаете с мастером, используйте мастер, в противном случае поместите имя ветки туда.


0

показать все приложения у героку есть доступ с

heroku apps

И проверьте, что ваше приложение существует тогда

 execute heroku git:remote -a yourapp_exist
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.