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.
Herok relie vos projets en fonction de la télécommande heroku
git (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
où project
est 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, project
est 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 heroku
pour que les commandes gem fonctionnent. J'ai vérifié la source , et il semble que cela fonctionne comme ceci:
--app
(par exemple, heroku info --app myapp
), il utilisera cette application.--remote
(par exemple, heroku info --remote production
), il utilisera l'application associée à cette télécommande Git.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).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.--app
à votre commande apparaît.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
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.
Utiliser la fourchette de heroku
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
Cloner le local
git clone [email protected]:youamazingapp.git
Faire un nouveau repo sur github et l'ajouter
git remote add Origin https://github.com/yourname/your_repo.git
Appuyez sur github
git Push Origin master
Vous devriez probablement démarrer ssh-agent et ajouter vos clés. Vérifie ça,
Ça m'a aidé.
J'ai mon projet dans github et heroku, pour télécharger une utilisation heroku:
heroku git:remote -a <project>
Le doc c'est:
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