BÖLÜM 1: "Git nereye basılacağını nasıl biliyor?"
Yukarıda belirtilen komutu çalıştırmadan önce:
$ git push heroku master
Her zaman uygulanacak birkaç adım vardır: Git ve Heroku'yu kurmak, yerel bir Git deposu oluşturmak, heroku'ya kaydolmak, komut satırı aracılığıyla heroku'da oturum açmak, barındırma noktasına heroku tanıtıcısı oluşturmak ( BÖLÜM 2'de açıklanmıştır )
1. Yerel bir Git deposu:
$ 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. Heroku'ya kayıt olun (ed) ve komut satırı aracılığıyla oturum açın:
$ 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
Yani çalıştırarak $ git push heroku master
kodu / uygulamayı Heroku'ya itmiş oldunuz.
BÖLÜM 2: Peki, heroku ve usta neyi gösterir?
Bu, Heroku'dan daha çok Git sorusudur - Heroku, dağıtım için Git'e (Dağıtılmış Sürüm Kontrol Sistemi) bağlı olan bir barındırma platformudur.
"İtme" nin temel kavramı, yerel olarak (çalışan makinemizde) başka bir yere, bu durumda uzak bir depoya (uzak makine) sahip olduğumuz bir şeyi (dosya, uygulama, ..) itmektir.
Git'te 'push' kullanmadan önce, uzak bir depoya (Tam URL) referans olarak hareket eden bir uzak (tutamaç) oluşturuyoruz, bunu aşağıdaki komutu kullanarak yapıyoruz:
$ git remote add <remote-name-of-our-choice> <URL-where-you-be-pushing-yourapp>
'Push' komutunun temel yapısı şudur:
$ git push <remote-name> <branch>
Yani $ git push heroku master
aslında kodunuzu / uygulamanızı / dosyanızı (bazı yerel Git deposundan) uzak bir repo 'heroku'ya itiyorsunuz.
bu 'heroku' uzaktan kumandasının ne zaman oluşturulduğunu merak ediyorum, $ heroku create'i çalıştırdığınızda eklendi
$ 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
Son satır olan " Git uzak heroku eklendi " ye dikkat edin.
daha net hale getirmek için, işte tüm uzaktan kumandaları kontrol etmek / çıkarmak için bir Git komutu: $ git remote -v, aşağıdakine benzer bir şey gösterecek
$ git remote -v
heroku git@heroku.com:somerepo.git (fetch)
heroku git@heroku.com:somerepo.git (push)
Dolayısıyla, aşağıdaki komutun bir yerde (örtük olarak) çalıştırıldığını varsayabiliriz, $ heroku oluşturduğunuzda , dolayısıyla heroku uzaktan kumandasını bazı heroku repolarına (url) *
$ git remote add heroku git@heroku.com:somerepo.git
git remote set-url <remote-name> <new-url>
(Git 1.7.0 ve üstü) ile veyagit config remote.<remote-name>.url <new-url>
veya düzenleyerek.git/config
(muhtemelengit config -e
Git 1.6.3 ve sonrasında) güncelleyebilirsiniz.