'heroku' non sembra essere un repository git


183

Quando provo a inviare la mia app a Heroku ricevo questa risposta:

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.

Ho provato 'heroku keys: add' ma ho ancora lo stesso risultato. Ho già una chiave ssh per il mio account GitHub.


quale comando hai usato per spingere? e quali passaggi hai eseguito in precedenza?
StickMaNX il

1
dai un'occhiata all'output di git remote -vper vedere quali telecomandi hai impostato.
John Beynon,

1
assicurati di essere nella directory giusta. quello era il mio problema.
tmthyjames,

1
@tmthyjames - bang, anche questo è stato un mio problema, grazie!
Andy McCullough,

Risposte:


437

Per aggiungere un'app Heroku come telecomando Git, è necessario eseguire heroku git:remote -a yourapp.

Fonte: distribuzione con Git


6
Questa è la soluzione se hai clonato il repository.
JGallardo,

1
Dopo aver aggiunto un telecomando valido, notare che git push heroku masterfallirà se si sta tentando di distribuire da una sottodirectory. Distribuisci con Heroku deve essere fatto dalla directory principale con un package.json valida e la cartella .git, come detto qui stackoverflow.com/questions/38658038/...
Junior Mayhé

1
Aggiungo che yourappintendi il nome dell'app heroku, che potrebbe non corrispondere sempre al nome della tua app in git o localmente, ecc.
Lee McAlilly

49

È possibile provare quanto segue nella directory principale:

// inizializza git per il tuo progetto, aggiungi le modifiche ed esegui un commit

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

// crea l'app heroku e spingi verso heroku

heroku create
git push heroku master

Non sono sicuro di dove ti trovi nel processo. Inoltre non hai bisogno di Github per distribuire su Heroku, solo Git. Spero che questo ti aiuti!


2
Questo ha funzionato per me. Ho solo bisogno di eseguire di nuovo heroku create. Per qualche ragione la prima volta non è stato creato un telecomando Git.
Joshua Dance,

1
Prima di spingere devi aggiungere 'heroku git: remote -a yourapp'
Jitendra

35

Innanzitutto, assicurati di aver effettuato l'accesso a Heroku:

heroku login 

Inserisci le tue credenziali.

È comune ottenere questo errore quando si utilizza un repository git clonato su una nuova macchina. Anche se le credenziali di Heroku sono già sulla macchina, non esiste ancora alcun collegamento tra il repository clonato e heroku localmente. Per fare ciò, esegui il cd nella directory principale del repository clonato ed esegui

heroku git:remote -a yourapp

1
Solo una nota per i principianti, yourappsopra è il nome della tua app sotto le impostazioni nella dashboard di Heroku
nkhil

9

A seguito dell'articolo ufficiale di Heroku :

Inizializza GIT

$ cd myapp
$ git init

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

Quindi crea (inizializza) l'app heroku con:

$ heroku create YourAppName

Infine aggiungi git remote:

$ heroku git:remote -a YourAppName

Ora puoi distribuire in sicurezza la tua app con:

$ git push heroku master

Dovresti aspettare un po 'di tempo e vedere se non ricevi alcun errore / interruzione sulla console durante la distribuzione. Per dettagli guarda l' articolo di heroku .


7

Segui questi passaggi:

$ heroku login

Crea un nuovo repository Git
Inizializza un repository git in una directory nuova o esistente

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

Distribuisci la tua applicazione
Salva il tuo codice nel repository e distribuiscilo su Heroku usando Git.

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

Repository Git
esistente Per i repository esistenti, aggiungi semplicemente il telecomando heroku

$ heroku git:remote -a appname

Errore: ---> App non compatibile con buildpack: https://codon-buildpacks.s3.amazonaws.com/buildpacks/heroku/python.tgz... non capisco, dove è sbagliato?
KingRider,

@KingRider Verifica quale app stai distribuendo. Se si sta distribuendo l'app Python, non è necessario specificare Python nel file Requirement.txt
MD Shahrouq,

4

Potrebbe valere la pena controllare il file di configurazione nella cartella .git. Se mancano i parametri heroku, verrà visualizzato questo errore heroku param

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

la cartella .git dovrebbe trovarsi nella directory del file del computer locale per l'app creata in heroku. ad es. C: \ Users \ You \ Your app.git

Spero che questo ti aiuti


3

Il mio problema era che ho usato git (invece di heroku git) per clonare l'app. Quindi ho dovuto:

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

Ricorda di cambiare MyApp con il nome della tua app.

Quindi potrei procedere:

git push heroku master

3

Se viene visualizzato questo errore, è perché non esiste un telecomando chiamato Heroku. Quando esegui una creazione Heroku, se il telecomando git non esiste già, ne creiamo automaticamente uno (supponendo che tu sia in un repository git). Per visualizzare i telecomandi digitare:

git remote -v”. # Per un'app chiamata 'nome app' vedrai quanto segue:

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

Se vedi un telecomando per la tua app, puoi semplicemente " git push master" e sostituirlo con il nome del telecomando attuale.

Se manca, puoi aggiungere il telecomando con il seguente comando:

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

Se hai già aggiunto un telecomando chiamato Heroku, potresti ricevere un errore del genere:

fatal: remote heroku already exists.

quindi, quindi rimuovere il telecomando esistente e aggiungerlo di nuovo con il comando sopra:

git remote rm heroku

Spero che questo ti aiuti…


2

Per me la risposta è stata quella di cd nella directory principale dell'app prima di eseguire heroku createogit push heroku master


1

Ho riscontrato lo stesso errore commettendo un errore molto più da principiante: stavo digitando Heroku con la "H" maiuscola anziché minuscola.

Riconosco che non è certamente la soluzione per tutti coloro che riscontrano questo errore, ma è stato nel mio caso.


1

Ho avuto lo stesso errore e ho scoperto che ero nella directory sbagliata. È un semplice errore fare un doppio controllo per essere nel root e poi eseguire heroku createe heroku git push masterancora. Ovviamente devi averlo fatto git init, come menzionato nella risposta StickMaNX sopra, già prima dei passaggi di heroku.



1

Hai dimenticato di collegare il nome della tua app al tuo heroku. È un errore molto comune. se l'app non è stata creata, utilizzare:

heroku create (optional app name)

altro:

git add .
git commit -m "heroku commit"

heroku git:remote -a YOUR_APP_NAME

git push heroku master

0

Per coloro che stanno cercando di far funzionare heroku su codeanywhereIDE:

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

0

Ho dovuto eseguire il prompt dei comandi di Windows con i privilegi di amministratore


Grazie per la tua risposta. Forse potresti spiegare all'OP come è stato fatto? Aiuta sempre, anche per i futuri spettatori di questo thread, a fornire risposte il più dettagliate possibile.
Niels

@niels trova semplicemente l'icona cmd, ad esempio attraverso il menu di avvio. Quindi fare clic con il tasto destro e premere Esegui come amministratore
Jesus Rodriguez,

0

I seguenti comandi funzioneranno bene per la distribuzione dell'applicazione ruby ​​on rails su heroku se heroku è già installato sul computer degli sviluppatori. # indica un commento

  1. login heroku
  2. heroku creare
  3. chiavi heroku: aggiungi #questo aggiunge le chiavi delle macchine locali a heroku in modo da evitare l'inserimento ripetuto della password
  4. git push heroku master
  5. heroku rinomina l'applicazione #rename new-application-name con il nome preferito diverso dal nome heroku generato automaticamente



0

Ho visto tutte le risposte qui e l'unica cosa che manca è dopo aver seguito questi passaggi:

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

Dovresti eseguire il comando seguente:

$ heroku git:remote -a <YourAppNameOnHeroku>

E infine, esegui questo:

$ git push -f heroku <NameOfBranch>:master

Nota che ho usato < NameOfBranch > perché se sei attualmente in un ramo diverso da padroneggiare genererebbe comunque degli errori, quindi se lavori nel master usa il master, altrimenti inserisci il nome del ramo.


0

mostra tutte le app con cui ha accesso heroku

heroku apps

E controlla che l'app esista allora

 execute heroku git:remote -a yourapp_exist
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.