CZĘŚĆ 1: „Skąd git wie, gdzie należy naciskać?”
Przed wykonaniem powyższego polecenia:
$ git push heroku master
Zawsze jest kilka innych kroków do wykonania: instalacja Git i Heroku, utworzenie lokalnego repozytorium Git, zarejestrowanie się w heroku, zalogowanie się do heroku za pomocą wiersza poleceń, utworzenie uchwytu heroku do punktu hostingu ( wyjaśnione w CZĘŚCI 2 )
1. Lokalne repozytorium Git:
$ 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. Zarejestruj się (ed) w Heroku i zaloguj z linii poleceń:
$ 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
Tak więc, uruchamiając $ git push heroku master
, przekazałeś kod / aplikację do Heroku.
CZĘŚĆ 2: ale na co wskazuje heroku i master ?
To bardziej kwestia Gita niż Heroku - Heroku to platforma hostingowa, której wdrożenie opiera się na Git (rozproszony system kontroli wersji).
Podstawową koncepcją „wypychania” jest wysyłanie czegoś (pliku, aplikacji,…), które mamy lokalnie (na naszej działającej maszynie) do innego miejsca, w tym przypadku do zdalnego repozytorium (zdalnej maszyny).
W Git przed użyciem 'push' tworzymy zdalny uchwyt (uchwyt), który działa jako odniesienie do zdalnego repozytorium (pełny adres URL), robimy to za pomocą następującego polecenia:
$ git remote add <remote-name-of-our-choice> <URL-where-you-be-pushing-yourapp>
Podstawowa struktura polecenia „push” to:
$ git push <remote-name> <branch>
Tak $ git push heroku master
naprawdę jest to przekazywanie kodu / aplikacji / pliku (z lokalnego repozytorium Git) do zdalnego repozytorium „heroku”.
Zastanawiasz się, kiedy ten pilot „heroku” został utworzony, został dodany po wykonaniu polecenia $ 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
Zwróć uwagę na ostatnią linię „ Dodano zdalne heroku Git ”.
aby było jaśniej, oto polecenie Git, aby sprawdzić / wyprowadzić wszystkie piloty: $ git remote -v wyświetli coś podobnego do następującego
$ git remote -v
heroku git@heroku.com:somerepo.git (fetch)
heroku git@heroku.com:somerepo.git (push)
Więc możemy założyć, że następujące polecenie zostało wykonane (niejawnie) gdzieś, kiedy zrobiłeś $ heroku create , stąd tworzenie pilota heroku do jakiegoś repozytorium heroku (url) *
$ git remote add heroku git@heroku.com:somerepo.git
git remote set-url <remote-name> <new-url>
(Git 1.7.0 i nowsze) lubgit config remote.<remote-name>.url <new-url>
, lub edytując.git/config
(prawdopodobnie przezgit config -e
Git 1.6.3 i nowsze).