Merhaba, bu yazıda Git’de branching ve merging işlemlerinden bahsedeceğim.
Önce branch’ın ne olduğundan bahsedelim. Var olan, Git ile takip etmekte olduğunuz projenizi o anki durumuyla kopyalayıp, iki ayrı proje oluşturabilirsiniz. Buna dallandırma (branching) deniyor. Dallandırmayla projenizi farklı şekillerde geliştirme, deneme yapma, yedekleme gibi olanaklara kavuşursunuz.
Projenizi dallandırmak için
git branch (branchİsmi)
komutunu vermeliyiz.
* Bi projeyi Git ile takip etmeye başladığınız anda oluşan ilk branch “master” branch’tır.
git branch
komutuyla var olan branch listesini görebilirsiniz.
Oluşturduğunuz branch’a geçmek için
git checkout (branchİsmi)
komutunu vermelisiniz. Bu komutu verdiğiniz andan itibaren diğer branch’lardan bağımsız bi şekilde çalışabilirsiniz.
Merge komutu
Oluşturduğunuz branch’ları birbirinden bağımsız bir şekilde geliştirdikten sonra, bunları birleştirmek isteyebilirsiniz.Bunun için merge komutundan sonra master branch ile birleştirmek istediğiniz branch ismini yazmamız yeterli
git merge (brachİsmi)
Şimdi yazıda anlattıklarımızı uygulamayla gösterelim
denemeKlasörü adında bi klasör oluşturalım ve hello.py adında bi dosyaya print(“First Line”) yazıp kaydedelim.
~/Desktop/denemeKlasörü$ echo "print ("First line")" >> hello.py
git init komutu verdikten sonra git add hello.py ve git commit hello.py komutlarıyla dosyayı takibe alalım.
Şimdi git branch komutuyla master branch’ın oluştuğunu görelim
~/Desktop/denemeKlasörü$ git branch * master
* işareti, Git’in hangi branch’ta çalıştığını gösterir.
Şimdi projemizi dallandırıp, oluşturduğumuz yeni dala(branch) geçelim.
~/Desktop/denemeKlasörü$ git branch yeniBranch ~/Desktop/denemeKlasörü$ git branch * master yeniBranch
Şimdi
git checkout yeniBranch
komutuyla yeni oluşturduğumuz dala geçelim ve hello.py üzerinde değişiklikler yapalım. Ben ikinci bir satır ekledim ve kaydettim. Daha sonra projenin durumuna baktığımızda hello.py’ın değiştirildiğini göreceksiniz.
~/Desktop/denemeKlasörü$ git status # On branch master # Changed but not updated: # (use "git add ..." to update what will be committed) # (use "git checkout -- ..." to discard changes in working directory) # # modified: hello.py # no changes added to commit (use "git add" and/or "git commit -a")
Şimdi yapılan değişiklikleri commit edelim ve master branch’a geçelim. master branch’a geçtikten sonra hello.py dosyasının içeriğine tekrar baktığınızda, yeni branch oluşturduktan sonra yaptığınız değişikliklerin orda olmadığını göreceksiniz.
master branch’a geçmek için
git checkout master
komutunu vermelisiniz.
Şimdi son adım olarak, birbirinden bağımsız şekilde geliştirdiğimiz bu projeleri birleştirelim.
git merge yeniBranch
komutu verelim. Bende çıktı şöyle oluştu.
(Bu sizin yaptığınız değişikliğe göre değişir. Örneğin oluşturduğunuz yeni branch’ta bi dosya adını değiştirdiyseniz, bu dosya master branch’tan silinecektir. Yapılan değişiklikler – satır ekleme, silme, değiştirme – çıktı olarak size sunulacaktır.)
~/Desktop/denemeKlasörü$ git merge yeniBranch Updating 1bca796..6fed6d2 Fast-forward hello.py | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)
Bu yazı dizisinde Git’i tanıtmaya çalıştım. Biraz daha araştırma yaparsanız Git’in kitaplık bi konu olduğunu göreceksiniz. Önümüzdeki yazıda Github ile ilgili işlemleri anlatmayı planlıyorum. Görüşmek üzere.
Kaynak:
http://gitref.org/
Social Coding 1 – Git Deposu Oluşturmak
Social Coding 2 – Git Temel Komutları
Social Coding 3 – Git Temel Komutları (devam)
Bu yazı toplam 158 kere görüntülenmiştir.




