"heroku", схоже, не є сховищем git


181

Коли я намагаюся підштовхнути свою програму до 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.

Я спробував "ключі heroku: додати", але все ж виходить з тим же результатом. У мене вже є ключ ssh для мого облікового запису GitHub.


яку команду ви використовували для натискання? і які дії ви виконували раніше?
StickMaNX

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

1
переконайтеся, що ви в потрібному каталозі. це була моя проблема.
tmthyjames

1
@tmthyjames - нагадай, це була і моя проблема, дякую!
Andy mccullough

Відповіді:


434

Щоб додати додаток Heroku як віддалений Git, потрібно виконати його heroku git:remote -a yourapp .

Джерело: Розгортання з Git


6
Це рішення, якщо ви клонували репо.
JGallardo

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

1
Я додам, що yourappви маєте на увазі назву програми heroku, яка не завжди може відповідати назві вашої програми в git або локально тощо.
Lee McAlilly

49

Ви можете спробувати наступне у вашому кореневому каталозі:

// ініціалізуйте git для свого проекту, додайте зміни та виконайте фіксацію

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

// створити додаток heroku та натиснути на heroku

heroku create
git push heroku master

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


2
Це працювало для мене. Просто потрібно запустити heroku create знову. Чомусь перший раз не створили git remote.
Танець Джошуа

1
Перед натисненням необхідно додати «Heroku мерзотник: віддалений -a YourApp»
Jitendra

35

Спочатку переконайтеся, що ви увійшли в heroku:

heroku login 

Введіть свої облікові дані.

Ця помилка звичайна при використанні клонованого git repo на новій машині. Навіть якщо ваші повноваження на heroku вже є на машині, ще немає зв’язку між клонованим репо та heroku локально. Для цього введіть CD у кореневий редактор клонованого репо і запустіть

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

Вам слід почекати деякий час і побачити, чи не виникає помилка / переривання на консолі під час розгортання. Детальніше дивіться у статті heroku .


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 віддалений

$ 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 відсутні, то ви отримаєте цю помилку heroku

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

папка .git повинна знаходитись у каталозі файлів локальних комп'ютерних програм для створеного вами героку. наприклад, 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 ще не існує, ми автоматично створюємо його (припускаючи, що ви перебуваєте в git repo). Щоб переглянути ваші пульти, виконайте вказані нижче дії.

" git remote -v". # Для програми під назвою "ім'я програми" ви побачите таке:

$ 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

Я зіткнувся з тією ж помилкою, роблячи набагато більш початкову помилку: я друкував у Хероку з великої літери замість малих літер.

Я усвідомлюю, що це, безумовно, не рішення для всіх, хто стикається з цією помилкою, але це було в моєму випадку.


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

@niels просто знайдіть значок cmd, наприклад, через меню "Пуск". Потім клацніть правою кнопкою миші та натисніть Запустити як адміністратор
Ісус Родрігес

0

Наступні команди добре працюватимуть для розгортання додатків на рубінах на рейках на heroku, якщо heroku вже встановлено на машині розробників. # вказує коментар

  1. heroku логін
  2. heroku творити
  3. ключі heroku: додайте #this додає ключі локальних машин до heroku, щоб уникнути повторного введення пароля
  4. git push heroku master
  5. heroku перейменувати додаток new-name #rename на бажане ім'я, відмінне від автоматично створеного імені 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 >, тому що якщо ви зараз перебуваєте в іншій гілці для освоєння, він все-таки видасть помилки, тому якщо ви працюєте в master master master, інакше поставте туди назву гілки.


0

показати всі програми heroku мають доступ до

heroku apps

І перевірте, чи існує програма

 execute heroku git:remote -a yourapp_exist
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.