96 votes

Comment "git push heroku master" sait-il où pousser et comment pousser vers un repo différent?

Je me demande pour Heroku, quand

 git push heroku master
 

est utilisé, le code est poussé à heroku, mais qu'indiquent heroku et master ? Comment Git sait-il où pousser? (le chemin git)

De plus, je ne savais pas que je pouvais utiliser heroku rename pour renommer une application, alors avant, disons que j'utilisais le nom de l'application trytryheroku et que maintenant j'utilise heroku create real-thing mais si je pousse, c'est pousse toujours à trytryheroku ... y at-il un moyen de pousser à la vraie chose à la place?

114voto

John Beynon Points 23163

Le "heroku' est le nom de la télécommande que vous avez setup - lorsque vous créez un heroku application la première fois qu'il crée un git remote call 'heroku' pointant vers votre application - si vous tapez 'git remote" dans votre projet, il va vous montrer la distance des points de terminaison. Il n'y a rien de verrouillage vous en utilisant 'heroku" comme le nom de la télécommande, si vous avez plusieurs environnements de votre demande, vous pouvez avoir des télécommandes nommé la production ou la mise en scène, par exemple.

Le "maître" est la partie de la section locale vous souhaitez pousser à la télécommande. Si vous développer dans une branche par exemple nommé "myfeature' et que vous souhaitez déployer à heroku vous ferait;

git push heroku myfeature:master

supplémentaires :maître ici, on dit de pousser mes locaux myfeature de la branche dans l' master direction générale de la télécommande remarque: heroku ne peut déployer à partir de la branche master.

Si vous renommez une application heroku git remote url va changer - faire un git remote -v qui vous montrera le repo git de votre application, vous aurez probablement besoin de supprimer votre ancien heroku origine et l'ajout de la nouvelle, git remote rm heroku alors git remote add heroku git@newgitpathfromcontrolpanel

Pour en savoir plus sur Git je recommande ce livre

46voto

Nabeel Ahmed Points 356

PARTIE 1 : "Comment git de savoir où pousser?"

Avant l'exécution de l'mentionnés ci-dessus commande:

$ git push heroku master

Il y a toujours quelques autres étapes à exécuter: l'Installation de Git et Heroku, la création d'un repo Git local, de l'inscription jusqu'à heroku, connectez-vous heroku via la ligne de commande, la création d'heroku poignée pour l'hébergement de point (expliqué dans la PARTIE 2)

1. Un dépôt Git local:

    $ git init
    Initialized empty Git repository in .git/
    $ git add .
    $ git commit -m "my first commit"
    Created initial commit 5df2d09: my first commit
     44 files changed, 8393 insertions(+), 0 deletions(-)
     create mode 100644 README
     create mode 100644 Procfile
     create mode 100644 app/controllers/source_file
    ...

2. Ont sign-up(ed) pour Heroku et connecté via la ligne de commande:

$ heroku login
Enter your Heroku credentials.
Email: user@example.com
Password:
Could not find an existing public key.
Would you like to generate one? [Yn]
Generating new SSH public key.
Uploading ssh public key /Users/adam/.ssh/id_rsa.pub

Ainsi en $ git push heroku master vous avez poussé le code/application Heroku.


PARTIE 2: mais qu'est - heroku et maître indiquer?

Il est plus d'un Git question que Heroku - Heroku est une plate-forme d'hébergement, qui dépend de Git (Distributed Version Control System) pour le déploiement.

Le concept de base de "push" est de pousser quelque chose (fichier, l'application, ..), nous avons localement (dans notre machine de travail) à un autre endroit, dans ce cas, à un dépôt distant (remote machine).

Dans Git avant à l'aide de "push" nous créer une distance (manche) qui sert de référence à un dépôt distant (URL Complète), nous le faisons à l'aide de la commande suivante:

$ git remote add <remote-name-of-our-choice> <URL-where-you-be-pushing-yourapp>

La structure de base de "pousser" la commande est:

$ git push <remote-name> <branch>

Donc, $ git push heroku master est en fait à pousser votre code/app/fichier (locaux repo Git) à une distance repo 'heroku' .

vous demandez quand est ce " heroku à distance a été créé, il a été ajouté lorsque vous avez exécuté $ heroku créer

$ heroku create
Creating stark-fog-398... done, stack is cedar
http://stark-fog-398.herokuapp.com/ | git@heroku.com:stark-fog-398.git
Git remote heroku added

Faire remarquer que la dernière ligne de "Git remote heroku ajoutée".

pour rendre cela plus clair, voici une commande Git à vérifier/sortie toutes les télécommandes: $ git remote -v affichera quelque chose de semblable à la suivante

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

Donc on peut supposer que la commande suivante a été exécutée (implicitement) quelque part, quand vous n'avez $ heroku créer , d'où la création de la société heroku distant pour certains heroku repo (url)*

$ git remote add heroku git@heroku.com:somerepo.git

12voto

Will Ayd Points 2832

heroku est requis en tant que partie du joyau heroku pour aider à la poussée, et maître est simplement la branche géniale que vous poussez. Le git sait où pousser parce que vous créez une application heroku, le push est automatiquement configuré, ce que vous pouvez voir en tapant

 git remote -v
 

si vous devez changer cela, supprimez-le avec git remote rm heroku puis ajoutez votre nouvelle application avec git remote add heroku git@heroku.com:your-application-15.git

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X