Bir repository oluşturduğumuzda Git varsayılan olarak master
isminde bir branch oluşturmakta ve biz ihtiyaçlarımız doğrultusunda farklı branchler de oluşturabilmekteyiz.
Branch kavramını örnek bir senaryo üzerinden incelemek konuyu daha rahat anlamamızı sağlayacaktır.
Bir proje geliştirmeye başladığımızı ve versiyon kontrol sistemi olarak da Git kullandığımızı düşünelim. Geliştirmelerimizi de Git’in varsayılan olarak oluşturduğu master
branch’inde yaptığımızı farz edelim. Geliştirmelerimize devam ederken aklımıza projemiz için daha iyi olacağını düşündüğümüz bir çözüm senaryosu geldi ancak istediğimiz sonucu verip vermeyeceğinden pek emin olamadık ve bu yüzden mevcut kodlarımızı ve yapımızı değiştirip değiştirmeme konusunda tereddütlerimiz var. Bu tarz bir durumda; projemizi farklı bir dizine kopyalayıp yedekledikten sonra aklımıza gelen çözüm senaryosunu uygulamaya başlamak gibi bir çözüm yolu gelebilir aklınıza ancak bunun yerine yeni bir branch oluşturmak çok daha pratik olacaktır.
git branch branch-adi
git branch
komutundan sonra oluşturmak istediğimiz branch’e vermek istediğimiz ismi yazarak yeni bir branch oluşturabiliriz. Bu komut projenizdeki dosyaların o anki halini alarak yeni bir branch oluşturacaktır.

Ekran görüntüsünü inceleyecek olursak; git status
komutunu yazdığımızda On branch master
mesajını vermektedir, yani şu an master
branch’indeyiz. Bulunduğumuz branch, proje adının hemen yanında parantez içerisinde de yazmaktadır "~/Desktop/e-ticaret (master)"
.
git branch feature-example
komutunu yazarak, master branch’den feature-example
isminde yeni bir branch yaratmış olduk.
git branch -l
komutu ile branch’leri listelediğimizde, yeni oluşturduğumuz feature-example
branch’inin de gözüktüğünü göreceğiz. Ancak dikkat edecek olursak master branch’inin yanında *
karakteri yer almakta, yani halen master branch’indeyiz.
git checkout branch-adi
Farklı bir branch’e geçmek için git checkout
komutundan sonra geçiş yapmak istediğimiz branch adını yazmamız gerekir.

git checkout feature-example
komutu ile yeni oluşturduğumuz feature-example
branch’ine geçiş yapmış olduk.
Artık projemiz için yapmayı planladığımız değişikleri yeni oluşturduğumuz feature-example
branch’i üzerinde rahatlıkla yapabiliriz. Yapmış olduğumuz değişiklikler istediğimiz sonucu veriyorsa geliştirmelerimizi master
branch’ine aktarabiliriz. Geliştirmelerimizi bir branch’ten başka bir branch’e nasıl aktaracağımızı Git - Merge
içeriğinde öğreniyor olacağız.
Eğer yapmış olduğumuz değişiklikler istediğimiz sonucu vermiyorsa, hiç sorun değil. Kodlarımızın eski hali master
branch’inde yer aldığı için git checkout master
komutu ile tekrar master
branch’ine dönebiliriz.
git branch -d branch-adi
Bir branch’i silmek için git branch -d
komutundan sonra silmek istediğimiz branch’in adını yazmamız gerekir.

git checkout master
komutu ile master branch’ine geçiş yaptıktan sonra git branch -d feature-example
komutu ile feature-example
branch’ini sildik. Tekrar git branch -l
komutunu yazdığımızda artık feature-example
branch’inin gözükmediğiniz göreceğiz.
Bu içerikte basit bir örnek üzerinden Branch kavramını anlatmaya çalıştım. Git için çeşitli branch modelleri ve stratejileri bulunmakta ve bu modellerin bazıları her bir feature için yeni bir branch oluşturulmasını zorunlu kılmakta. İlerleyen içeriklerde branch modelleri ve stratejilerine de değinmeye çalışacağım.
KOMUT | AÇIKLAMA |
git branch example-branch | O an bulunulan branch’ten example-branch isminde yeni bir branch oluşturur. |
git branch -l | Branch’leri listeler. |
git branch -d example-branch | example-branch isimli branch’i siler. |
git checkout example-branch | example-branch isimli branch’e geçiş yapar. |
git checkout -b example-branch | example-branch isimli yeni bir branch oluşturur ve o branch’e geçiş yapar. |