DEV Community

Cover image for Git'de Branch Nedir? Nasıl oluşturulur?
Koray Barkin
Koray Barkin

Posted on • Edited on

Git'de Branch Nedir? Nasıl oluşturulur?

Başlıklar

Branch Oluşturmak

Branch oluşturmak kullanıcıya çalıştığı projenin farklı versiyonlarına erişmesini sağlar. Kullanıcı, projesine bir yenilik eklemek istediğinde, yaptığı değişiklik projenin çalışmasını olumsuz etkileyebilir. Bu gibi durumlarda projemizin o anki halini bozmamak için branch kullanabiliriz. Branch yardımı ile projemizin çalışır halini kaydedip, yeni eklenti üzerinde rahatlıkla çalışabiliriz. Projemizde herhangi bir sorun çıktığı takdirde geri dönüp önceki versiyona kolaylıkla erişebiliriz. Branch, sadece projenizi değiştirirken ya da güncellerken eski halini korumak ile kalmıyor. Projenize bir versiyon çıkarttığınız zaman her yeni versiyon için repository oluşturmak yerine her bir versiyon için farklı branchler açabilirsiniz. Böylece versiyonları bir arada kolayca takip edebilir ve erişebilirsiniz.

Git’de proje oluşturduğunuzda varsayılan olarak master adında bir branch oluşturulur. Eğer hiçbir değişiklik yapmadan çalışmaya devam edersek, bütün işlemlerimizi master branch’i üzerinden yapmış oluruz. Yeni bir eklenti yapacağımız zaman master branch’i üzerinde yeni bir branch açabiliriz. Böylece hem dosya kalabalığının hem de dosya boyutunun katlanmasının önüne geçmiş oluruz. Bunun yanı sıra istediğimiz zaman da bu iki farklı branch’i birleştirebiliriz.

Kısacası, bir proje geliştirirken final.py finalv2.py finalsonhali.py gibi hangi dosyanın ne içerdiğini bilmediğimiz karmaşık bir yapıdan bizleri kurtarıyor.

Branch-gorsel

Şimdi yeni bir klasör oluşturup aşağıdaki komutu verelim.



git init


Enter fullscreen mode Exit fullscreen mode

Örneğin, basit bir toplama işlemi yapan bir PHP (islemler.php) dosyamız olsun. Biz bu kodumuza eklenti olarak çarpma işlemi de hesaplamasını istiyoruz. Fakat, bu eklentiyi yaparken toplama işlemi fonksiyonunun işleyişini bozabiliriz. Bu yüzden eklentimizi güvenli ortamda geliştirmek için önce toplama işlemi dosyamızı Git’e ekleyip commit yapalım.



git add islemler.php


Enter fullscreen mode Exit fullscreen mode


 git commit -m “toplama_islemi eklendi”


Enter fullscreen mode Exit fullscreen mode

Yukarıdaki işlemleri gerçekleştirdikten sonra toplama işlemi yapan kodumuzu güvenli bir şekilde kaydettik. Şimdi ise rahatlıkla çarpma işlemi eklentisi üzerinde çalışabiliriz.

Yeni Bir Branch Oluşturmak

Git’de iki farklı şekilde branch oluşturabiliriz. Bu yollardan bir tanesi git branch komutunu kullanmak, diğeri ise git checkout -b parametresi vermek. Git branch komutu sadece yeni bir branch oluştururken, git checkout -b “…” komutu yazdığınız isimde branch yoksa onu oluşturur ve bulunduğunuz branch değiştirilir.



git checkout -b “carpma_islemi”


Enter fullscreen mode Exit fullscreen mode

Bu komuttan sonra aşağıdaki yazıyı görüyorsanız doğru yoldasınız demektir.



Switched to new branch “carpma_islemi”


Enter fullscreen mode Exit fullscreen mode

Şimdi yeni bir branch oluşturduğumuza ve çalışma branchimizi değiştirdiğimize göre önceden yarattığımız toplama.php dosyasını açıp çarpma işlemi eklentimizi ekleyebiliriz. Bundan sonra yapacağımız değişiklik carpma_islemi adındaki branchimize kaydedilecektir. İstediğimiz zaman master adındaki branchimize dönebilir ya da carpma_islemi ile birleştirebiliriz (merge). Değişiklikleri yaptıktan sonra dosyamızın yeni halini ekleyip commit edebiliriz.



git add islemler.php


Enter fullscreen mode Exit fullscreen mode


git commit -m “carpma islemi eklendi”


Enter fullscreen mode Exit fullscreen mode

Branchleri Listelemek ve Branchler Arasında Gezinmek

Git’de branch değiştirmek için git checkout komutunu kullanabiliriz. git checkout komutunu yazdıktan sonra gitmek istediğiniz branch’in adını yazmanız yeterlidir. Eğer gitmek istediğiniz branch’in adını hatırlamıyorsanız git branch komutu ile bütün branchleri listeleyebilirsiniz.

(Branchleri listeler)



git branch


Enter fullscreen mode Exit fullscreen mode

(carpma_islemi branchine geçiş yapar)



git checkout carpma_islemi


Enter fullscreen mode Exit fullscreen mode

git branch komutunu yazdıktan sonra bulunduğunuz branch’in yanında * işareti bulunur. Eğer carpma_islemi branchindeysek islemler.php dosyasının içeriğinde, eklediğimiz çarpma işlemi fonksiyonunu da görebiliriz fakat master branch’ine dönersek sadece toplama işleminin olduğunu göreceğiz.

(master branchine geçiş yapar)



git checkout master


Enter fullscreen mode Exit fullscreen mode

Böylece iki farklı versiyonda islemler.php dosyamız mevcut. Sadece toplama işlemine sahip olan master branch’i ve hem toplama hem de çarpma işlemine sahip carpma_islemi branch’i. Eğer bölme işlemi gibi bir eklenti eklemek istiyorsak, git branch bölme_islemi diye bir branch açabilir ya da git checkout -b bölme_islemi diye branch açıp çalışma branchimizi de değiştirerek eklentimizi yapabiliriz. Bunun ardından aynı şekilde git add ve commit komutlarını yazarak projemizin üstüne koyarak ilerleyebiliriz.

Top comments (0)