BAGIAN 1: "Bagaimana git tahu ke mana harus mendorong?"
Sebelum menjalankan perintah yang disebutkan di atas:
$ git push heroku master
Selalu ada beberapa langkah lain untuk dijalankan: Menginstal Git dan Heroku, membuat repo Git lokal, mendaftar ke heroku, masuk heroku melalui baris perintah, membuat pegangan heroku ke titik hosting ( dijelaskan di BAGIAN 2 )
1. Repositori Git lokal:
$ 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. Mendaftar ke Heroku dan masuk melalui baris perintah:
$ 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
Jadi dengan menjalankan $ git push heroku master
Anda telah mendorong kode / aplikasi ke Heroku.
BAGIAN 2: Tapi apa yang ditunjukkan oleh heroku dan master ?
Ini lebih merupakan pertanyaan Git daripada Heroku - Heroku adalah platform hosting, yang bergantung pada Git (Sistem Kontrol Versi Terdistribusi) untuk penerapan.
Konsep dasar dari 'push' adalah mendorong sesuatu (file, app, ..) yang kita miliki secara lokal (di mesin yang bekerja) ke tempat lain, dalam hal ini ke repositori jarak jauh (mesin jarak jauh).
Di Git sebelum menggunakan 'push' kami membuat remote (pegangan) yang bertindak sebagai referensi ke repositori jarak jauh (URL Lengkap), kami melakukannya dengan menggunakan perintah berikut:
$ git remote add <remote-name-of-our-choice> <URL-where-you-be-pushing-yourapp>
Struktur dasar dari perintah 'push' adalah:
$ git push <remote-name> <branch>
Jadi $ git push heroku master
sebenarnya mendorong kode / aplikasi / file Anda (dari beberapa repo Git lokal) ke repo 'heroku' jarak jauh.
bertanya-tanya kapan remote 'heroku' ini dibuat, itu ditambahkan ketika Anda mengeksekusi $ 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
Perhatikan baris terakhir " Git remote heroku added ".
untuk membuatnya lebih jelas, berikut adalah perintah Git untuk memeriksa / mengeluarkan semua remote: $ git remote -v akan menampilkan sesuatu yang mirip dengan berikut ini
$ git remote -v
heroku git@heroku.com:somerepo.git (fetch)
heroku git@heroku.com:somerepo.git (push)
Jadi kita dapat berasumsi bahwa perintah berikut dijalankan (secara implisit) di suatu tempat, ketika Anda membuat $ heroku , sehingga membuat remote heroku ke beberapa repo heroku (url) *
$ git remote add heroku git@heroku.com:somerepo.git
git remote set-url <remote-name> <new-url>
(Git 1.7.0 dan yang lebih baru), ataugit config remote.<remote-name>.url <new-url>
, atau dengan mengedit.git/config
(mungkin melaluigit config -e
di Git 1.6.3 dan yang lebih baru).