'heroku' ne semble pas être un dépôt git


199

Lorsque j'essaye de pousser mon application vers Heroku, j'obtiens cette réponse:

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.

J'ai essayé 'heroku keys: add' mais je parviens toujours au même résultat. J'ai déjà une clé ssh pour mon compte GitHub.


quelle commande avez-vous utilisé pour pousser? et quelles étapes avez-vous effectuées auparavant?
StickMaNX

1
jetez un œil à la sortie de git remote -vpour voir quelles télécommandes vous avez configurées.
John Beynon

1
assurez-vous que vous êtes dans le bon répertoire. c'était mon problème.
tmthyjames

1
@tmthyjames - bang on, c'était aussi mon problème, merci!
andy mccullough

Réponses:


470

Pour ajouter une application Heroku en tant que télécommande Git, vous devez l'exécuter heroku git:remote -a yourapp.

Source: déploiement avec Git


7
C'est la solution si vous avez cloné le repo.
JGallardo

1
Après avoir ajouté une télécommande valide, notez que git push heroku mastercela échouera si vous essayez de déployer à partir d'un sous-répertoire. Le déploiement avec heroku doit être effectué à partir du répertoire racine avec un dossier package.json et .git valides, comme indiqué ici stackoverflow.com/questions/38658038/…
Junior Mayhé

1
J'ajouterais que par yourappvous entendez le nom de l'application heroku, qui peut ne pas toujours correspondre au nom de votre application dans git ou localement, etc.
Lee McAlilly

56

Vous pouvez essayer ce qui suit dans votre répertoire racine:

// initialise git pour votre projet, ajoute les modifications et effectue un commit

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

// créer une application heroku et pousser vers heroku

heroku create
git push heroku master

Je ne sais pas où vous en êtes dans le processus. Vous n'avez pas non plus besoin de github pour déployer sur heroku, juste git. J'espère que cela t'aides!


2
Cela a fonctionné pour moi. Juste besoin de relancer heroku create. Pour une raison quelconque, la première fois n'a pas créé de télécommande git.
Joshua Dance

2
Avant de pousser, vous devez ajouter 'heroku git: remote -a yourapp'
Jitendra

39

Tout d'abord, assurez-vous que vous êtes connecté à heroku:

heroku login 

Entrez vos identifiants.

Il est courant d'obtenir cette erreur lors de l'utilisation d'un dépôt git cloné sur une nouvelle machine. Même si vos informations d'identification heroku sont déjà sur la machine, il n'y a pas encore de lien entre le repo cloné et heroku localement. Pour ce faire, accédez au répertoire racine du dépôt cloné et exécutez

heroku git:remote -a yourapp

1
Juste une note pour les débutants, yourappci-dessus est le nom de votre application sous les paramètres dans le tableau de bord Heroku
nkhil

13

Suite à l' article officiel Heroku :

Initialiser GIT

$ cd myapp
$ git init

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

Ensuite, créez (initialisez) l'application heroku avec:

$ heroku create YourAppName

Enfin, ajoutez git remote:

$ heroku git:remote -a YourAppName

Vous pouvez désormais déployer votre application en toute sécurité avec:

$ git push heroku master

Vous devriez attendre un certain temps et voir si vous n'obtenez aucune erreur / interruption sur la console lors du déploiement. Pour plus de détails, consultez l' article heroku .


9

Suivez ces étapes:

$ heroku login

Créer un nouveau référentiel Git
Initialiser un référentiel git dans un répertoire nouveau ou existant

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

Déployez votre application
Validez votre code dans le référentiel et déployez-le sur Heroku à l'aide de Git.

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

Référentiel Git
existant Pour les référentiels existants, ajoutez simplement la télécommande heroku

$ heroku git:remote -a appname

Erreur: ---> Application non compatible avec buildpack: https://codon-buildpacks.s3.amazonaws.com/buildpacks/heroku/python.tgz... je ne comprends pas, où est-ce que ça ne va pas?
KingRider

@KingRider Vérifiez quelle application vous déployez. SI vous déployez une application python, il n'est pas nécessaire de spécifier Python dans le fichier Requirement.txt
MD Shahrouq

4

Cela peut valoir la peine de vérifier le fichier de configuration dans le dossier .git. Si les paramètres heroku sont manquants, vous obtiendrez cette erreur heroku param

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

le dossier .git doit se trouver dans le répertoire de fichiers de l'ordinateur local de l'application que vous avez créée dans heroku. par exemple C: \ Users \ You \ Your app.git

J'espère que cela t'aides


3

Mon problème était que j'utilisais git (au lieu de heroku git) pour cloner l'application. Ensuite, j'ai dû:

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

N'oubliez pas de remplacer MyApp par le nom de votre application.

Ensuite, je pourrais procéder:

git push heroku master

3

Si cette erreur apparaît, c'est parce qu'il n'y a pas de télécommande nommée Heroku. Lorsque vous effectuez une création Heroku, si la télécommande git n'existe pas déjà, nous en créons automatiquement une (en supposant que vous soyez dans un dépôt git). Pour afficher vos télécommandes, saisissez:

« git remote -v». # Pour une application appelée 'appname', vous verrez ce qui suit:

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

Si vous voyez une télécommande pour votre application, vous pouvez simplement " git push master" et la remplacer par le nom réel de la télécommande.

S'il manque, vous pouvez ajouter la télécommande avec la commande suivante:

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

Si vous avez déjà ajouté une télécommande appelée Heroku, vous pouvez obtenir une erreur comme celle-ci:

fatal: remote heroku already exists.

alors, supprimez la télécommande existante et ajoutez-la à nouveau avec la commande ci-dessus:

git remote rm heroku

J'espère que cela t'aides…


2

Pour moi, la réponse était de cd dans le répertoire racine de l'application avant d'exécuter heroku createougit push heroku master


2

Vous avez oublié de lier le nom de votre application à votre heroku. C'est une erreur très courante. si votre application n'est pas créée, utilisez:

heroku create (optional app name)

autre:

git add .
git commit -m "heroku commit"

heroku git:remote -a YOUR_APP_NAME

git push heroku master

1

J'ai rencontré la même erreur en faisant une erreur beaucoup plus novice: je tapais Heroku avec un «H» majuscule, au lieu de minuscules.

Je reconnais que ce n'est certainement pas la solution pour tous ceux qui rencontrent cette erreur, mais c'était dans mon cas.


1

J'ai eu la même erreur et il s'est avéré que j'étais dans le mauvais répertoire. C'est une simple erreur de faire si bien vérifier que vous êtes à la racine, puis exécutez encore heroku createet heroku git push masterencore. Bien sûr, vous devez avoir fait git init, comme mentionné dans la réponse StickMaNX ci-dessus, déjà avant les étapes heroku.




1

afficher toutes les applications auxquelles heroku a accès

heroku apps

Et vérifiez que votre application existe alors

 execute heroku git:remote -a yourapp_exist

0

Pour ceux qui essaient de faire fonctionner heroku sur codeanywhereIDE:

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

0

J'ai dû exécuter l'invite de commande Windows avec les privilèges d'administrateur


Merci pour votre réponse. Peut-être pourriez-vous expliquer au PO comment cela se fait? Il est toujours utile, également pour les futurs téléspectateurs de ce fil, de donner des réponses aussi détaillées que possible.
niels

@niels trouve simplement l'icône cmd, via le menu démarrer par exemple. Puis faites un clic droit et appuyez sur Exécuter en tant qu'administrateur
Jesus Rodriguez

0

Les commandes suivantes fonctionneront bien pour le déploiement d'applications ruby ​​on rails sur heroku si heroku est déjà installé sur la machine des développeurs. # indique un commentaire

  1. connexion heroku
  2. heroku créer
  3. clés heroku: ajoutez #this ajoute des clés de machines locales à heroku afin d'éviter une saisie répétée du mot de passe
  4. git push heroku master
  5. heroku renommer new-application-name #rename application avec le nom préféré autre que le nom heroku généré automatiquement


0

J'ai vu toutes les réponses ici et la seule chose qui manque est après avoir suivi ces étapes:

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

Vous devez exécuter la commande ci-dessous:

$ heroku git:remote -a <YourAppNameOnHeroku>

Et enfin, exécutez ceci:

$ git push -f heroku <NameOfBranch>:master

Remarquez que j'ai utilisé < NameOfBranch > parce que si vous êtes actuellement dans une branche différente à maîtriser, cela générerait toujours des erreurs, donc si vous travaillez dans master use master, mettez le nom de la branche ici.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.