Branch’ler, geliştiricilere bağımsız alanlar sunar, böylece her biri kendi branch’inde çalışabilir. Ana branch’ten ayrı olarak, her branch, farklı bir işlevi veya özelliği temsil eder. Bu sayede, farklı ekipler veya geliştiriciler aynı anda farklı özellikleri geliştirebilir ve değişiklikleri çakışmadan izleyebilirler.
Ana branch, projenin en güncel ve kararlı halini temsil eder. Yeni bir özellik eklemek veya bir hata düzeltmesi yapmak istendiğinde, geliştiriciler ana branch’i değiştirmeden kendi branch’lerinde çalışır. Daha sonra bu değişiklikler ana branch’e entegre edilir, bu işleme de “birleştirme” (merge) denir. Bu sayede, geliştiricilerin birbirlerinin çalışmalarını etkilemeden verimli bir şekilde geliştirme yapmaları mümkün olur.
Birlikte bir örnek yapalım;
- İlk adımda github profilimize gidip bir repository oluşturuyoruz.

- Bu repository’i kendi bilgisayarımıza clone etmeniz gerekiyor.
Clone etmek için “git clone” komutunu kullanmanız gerekiyor.
- Bilgisayarınızda bulunan projeyi VS Code vb. bir editör ile açın.
- Ben index.html adında bir dosya oluşturup içerisine bir h1 etiketi ekleyerek bir web sayfası oluşturuyorum.

- Oluşturduğum dosyayı sırası ile aşağıdaki komutları çalıştırarak ana branch’ime (master’a) gönderiyorum.
# Tüm değişikleri stage'e al diyoruz.
$ git add *
# Stage'e aldığımız değişikliklere bir açıklama girip kuyruğa yolluyoruz.
$ git commit -m 'initial commit'
# Kuyrukta bulunan değişiklikleri github'a gönderiyoruz.
$ git push
- Şimdi oluşturduğumuz index.html dosyasındaki h1 etiketini değiştirerek bir branch’e gönderelim. İlk önce h1 etiketi içerisinde olan metni değiştiriyorum. Daha sonra sırası ile aşağıdaki komutları uygulamanızı istiyorum.
# "first-branch" adında bir branch oluşturuyoruz.
$ git branch first-branch
# Oluşturduğumuz branch'in github'tada oluşturulması için bilgisini gönderiyoruz.
$ git push --set-upstream origin first-branch
# Branch'leri ve hangi branch'te olduğumuzu görmek için branch listesi alıyoruz.
# Başında * olan bulunduğumuz branch'i temsil eder.
$ git branch
# Açtığımız branch'e geçiş sağlarız.
$ git switch first-branch
# Yaptığımız değişiklikleri stage'e alıyoruz.
$ git add *
# Stage'e aldığımız değişiklere bir açıklama ekliyoruz ve kuyruğa alıyoruz.
$ git commit -m 'Change index.html'
# Kuyrukta bulunan değişikler github'a gönderiyoruz.
$ git push
- Github hesabınıza girip oluşturduğunuz branch’i gözlemleyebilirsiniz. Ana branch’inizde bulunan index.html içeriği ile oluşturduğunuz branch içerisindeki bilgi aynı olmayacaktır.
- Şimdi oluşturduğumuz branch’i ana branch’imiz ile birleştirelim.
# Hangi branch'te olduğumuza bakalım.
$ git branch
# Ana branch'te değilsek branch değiştirelim.
$ git switch master
# Merge komutu ile bulunduğumuz branch'e
# yani ana branch'e yaptığımız değişiklikleri alıyoruz.
$ git merge origin/first-branch
# Aldığımız değişiklikleri ana branch'e gönderiyoruz.
$ git push
- Yaptığınız değişiklikleri hem kod editörünüzden hem de github üzerinden gözlemleyebilirsiniz.
Basit bir şekilde sizlere branch mantığını anlatmaya ve örneklemeye çalıştım umarım yarlı olmuştur. 🙂
İyi Çalışmalar…