web-dev-qa-db-fra.com

Comment lier un dossier à une application Heroku existante

J'ai une application Rails existante sur GitHub et déployée sur Heroku. J'essaie de configurer une nouvelle machine de développement et j'ai cloné le projet à partir de mon référentiel GitHub. Cependant, je ne comprends pas comment lier ce dossier à Heroku. À l’origine, j’utilisais la commande heroku create, mais je ne souhaite évidemment pas le faire cette fois-ci, car cela créera une autre instance Heroku.

768
Kevin Pang

Herok relie vos projets en fonction de la télécommande herokugit (et de quelques autres options, voir la mise à jour ci-dessous). Pour ajouter votre télécommande Heroku en tant que télécommande dans votre référentiel actuel, utilisez la commande suivante:

git remote add heroku [email protected]:project.git

projectest le nom de votre projet Heroku (identique au sous-domaine project.heroku.com). Une fois que vous avez terminé, vous pouvez utiliser les commandes heroku xxxx (en supposant que vous avez le Heroku Toolbelt installé), et vous pouvez envoyer à Heroku comme d'habitude via git Push heroku master. En tant que raccourci, si vous utilisez l'outil de ligne de commande, vous pouvez taper:

heroku git:remote -a project

où, encore une fois, projectest le nom de votre projet Heroku (merci, Colonel Panic ). Vous pouvez nommer la télécommande Git comme bon vous semble en passant -r remote_name.

[Mise à jour]

Comme mentionné par Ben dans les commentaires, la télécommande n'a pas besoin d'être nommée herokupour que les commandes gem fonctionnent. J'ai vérifié la source , et il semble que cela fonctionne comme ceci:

  1. Si vous spécifiez un nom d'application via l'option --app (par exemple, heroku info --app myapp), il utilisera cette application.
  2. Si vous spécifiez un nom Git distant via l'option --remote (par exemple, heroku info --remote production), il utilisera l'application associée à cette télécommande Git.
  3. Si vous ne spécifiez aucune option et que heroku.remote est défini dans votre fichier de configuration Git, l'application associée à cette télécommande sera utilisée (par exemple, pour définir la télécommande par défaut sur "production", utilisez git config heroku.remote production dans votre référentiel et Heroku exécutera git config heroku.remote pour lire la valeur de ce paramètre)
  4. Si vous ne spécifiez aucune option, la gemme ne trouve aucune configuration dans votre fichier .git/config et ne trouve qu'une seule télécommande dans vos télécommandes Git ayant "heroku.com" dans l'URL, elle utilisera cette télécommande.
  5. Si aucune de ces solutions ne fonctionne, une erreur vous demandant de transmettre --app à votre commande apparaît.
1173
Michelle Tilley

Le Heroku CLI a un raccourci facile pour cela. Pour une application nommée "Tomber-vent-1624":

$ heroku git:remote -a falling-wind-1624
Git remote heroku added.

Voir https://devcenter.heroku.com/articles/git#creating-a-heroku-remote

201
Colonel Panic

N'oubliez pas, si vous êtes également sur une machine où vous n'avez pas encore configuré heroku

heroku keys:add

Ou vous ne pourrez pas pousser ou tirer vers le repo.

142
Ghoti

Utiliser la fourchette de heroku

  1. Utilisez la nouvelle commande "heroku fork"! Il va copier tout l'environnement et vous devez mettre à jour le repo de github après!

    heroku fork -a sourceapp targetapp
    
  2. Cloner le local

    git clone [email protected]:youamazingapp.git
    
  3. Faire un nouveau repo sur github et l'ajouter

    git remote add Origin https://github.com/yourname/your_repo.git
    
  4. Appuyez sur github

    git Push Origin master
    
4
msroot

Vous devriez probablement démarrer ssh-agent et ajouter vos clés. Vérifie ça,

http://wordgraphs.com/post/5000/Heroku--Permission-denied--publickey---fatal--Could-not-read-from-remote-repository-

Ça m'a aidé.

2
Stranger

J'ai mon projet dans github et heroku, pour télécharger une utilisation heroku:

heroku git:remote -a <project>

Le doc c'est:

https://devcenter.heroku.com/articles/git

Deux choses à prendre en compte lors de la configuration d'un nouveau système de déploiement pour une ancienne application

1. Pour vérifier l'accès de votre application à Heroku (en particulier l'application)

heroku apps

il listera les applications auxquelles vous avez accès si vous configurez pour la première fois, vous devrez probablement

heroku keys:add

2. Configurez ensuite votre télécommande git

Pour l'application Heroku déjà créée, vous pouvez facilement ajouter une télécommande à votre référentiel local avec la commande heroku git: remote. Tout ce dont vous avez besoin est le nom de votre application Heroku:

heroku git:remote -a appName

vous pouvez également renommer vos télécommandes avec la commande git remote rename:

git remote rename heroku heroku-dev(you desired app name)

alors vous pouvez utiliser la commande git remote pour confirmer qu'une télécommande a été définie pour votre application

 git remote -v
0
Rohit Sureka