PARTIE 1: "Comment git sait-il où pousser?"
Avant d'exécuter la commande mentionnée ci-dessus:
$ git push heroku master
Il y a toujours quelques autres étapes à exécuter: installer Git et Heroku, créer un référentiel Git local, s'inscrire à heroku, se connecter à heroku via la ligne de commande, créer un identifiant heroku au point d'hébergement ( expliqué dans la PARTIE 2 )
1. Un référentiel 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. Vous êtes abonné (e) à 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
Donc en courant $ git push heroku master
vous avez poussé le code / l'application vers Heroku.
PARTIE 2: mais qu'est-ce que heroku et maître ?
C'est plus une question Git 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, application, ..) que nous avons localement (dans notre machine de travail) vers un autre endroit, dans ce cas vers un référentiel distant (machine distante).
Dans Git, avant d'utiliser 'push', nous créons un remote (handle) qui agit comme une référence à un référentiel distant (URL complète), nous le faisons en utilisant la commande suivante:
$ git remote add <remote-name-of-our-choice> <URL-where-you-be-pushing-yourapp>
La structure de base de la commande 'push' est:
$ git push <remote-name> <branch>
Il en $ git push heroku master
va de même pour le transfert de votre code / application / fichier (à partir d'un dépôt Git local) vers un dépôt distant 'heroku'.
vous vous demandez quand cette télécommande 'heroku' a été créée, elle a été ajoutée lorsque vous avez exécuté $ heroku create
$ 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
Notez la dernière ligne " Git remote heroku ajouté ".
pour le rendre plus clair, voici une commande Git pour vérifier / sortir toutes les télécommandes: $ git remote -v affichera quelque chose de similaire à ce qui suit
$ git remote -v
heroku git@heroku.com:somerepo.git (fetch)
heroku git@heroku.com:somerepo.git (push)
Nous pouvons donc supposer que la commande suivante a été exécutée (implicitement) quelque part, lorsque vous avez créé $ heroku , créant ainsi la télécommande heroku vers un repo heroku (url) *
$ git remote add heroku git@heroku.com:somerepo.git
git remote set-url <remote-name> <new-url>
(Git 1.7.0 et versions ultérieures), ougit config remote.<remote-name>.url <new-url>
, ou en éditant.git/config
(éventuellement viagit config -e
dans Git 1.6.3 et versions ultérieures).