Git Branching Nedir? Branch Mantığı ve Kullanım Senaryoları (2026)

Git, modern yazılım geliştirmede kullanılan en güçlü version kontrol sistemlerinden biridir. Git’i diğer VCS araçlarından ayıran en önemli özelliklerden biri ise hafif, hızlı ve esnek branch (dallanma) modelidir. Birçok VCS aracında branch oluşturmak maliyetliyken, Git’te bu işlem neredeyse anlıktır.

Bu rehberde: Git branching nedir, branch (dal) mantığı nasıl çalışır, HEAD nedir, branch oluşturma / geçiş yapma ve branch geçmişini görselleştirme adımlarını net örneklerle öğreneceksin.

Git Branching Nedir? Git branch mantığı: main ve feature branch akışı
Git branching, ana geliştirme hattını bozmadan paralel geliştirmeyi mümkün kılar.
Kısaca: Git branching; projedeki ana geliştirme hattını bozmadan yeni özellik geliştirmek, test yapmak veya farklı bir çalışma alanı oluşturmak için kullanılan güçlü bir yöntemdir.

İlgili İçerikler


İçindekiler

  1. Git Branching Nedir?
  2. Git Branch (Dal) Nasıl Çalışır?
  3. Git’te Yeni Branch Oluşturma
  4. Git HEAD Nedir?
  5. Git Checkout ile Branch Değiştirme
  6. Branch’ler Nasıl Ayrışır?
  7. Branch Yapısını Gösterme
  8. Git Branching Neden Bu Kadar Güçlü?
  9. Sık Sorulan Sorular (FAQ)
  10. Sonuç

1) Git Branching Nedir?

Git, veriyi “dosyalar değişti mi?” şeklinde değil; bir dizi snapshot (anlık görüntü) olarak saklar. Commit yaptığınızda Git:

  • dosyaların anlık görüntüsünü oluşturur,
  • bu görüntüyü bir commit nesnesinde saklar,
  • commit’in bir önceki commit’e işaret eden pointer’ını ekler.

Bu yapı sayesinde Git branch’leri aslında yalnızca commit pointer’larından ibarettir ve çok hafiftir. Yani branch açmak, “yeni bir çalışma alanı” oluşturmanın en hızlı yoludur.

Git commit snapshot mantığı: branch pointer ve commit zinciri
Git, commit’leri snapshot olarak tutar; branch ise sadece bir pointer’dır.

2) Git Branch (Dal) Nasıl Çalışır?

Git’te bir branch, yalnızca bir commit’e işaret eden basit bir pointer’dır. Varsayılan branch adı çoğu projede main (bazı projelerde master) olarak gelir.

Yeni commit yaptığınızda branch pointer’ı otomatik olarak ileri taşınır:

A → B → C (main)
      

Buradaki kritik fikir şudur: Branch, commit’leri “kopyalamaz”; sadece “en son commit neresi?” bilgisini taşır.

3) Git’te Yeni Branch Oluşturma

Yeni bir branch oluşturmak için şu komutu çalıştırın:

git branch testing
      

Bu komut yeni bir pointer oluşturur ancak aktif branch’i değiştirmez. Yani hâlâ main branch’indesiniz; sadece “testing” adlı yeni bir dal oluşturmuş oldunuz.

İpucu: Aynı anda oluşturup geçmek için sık kullanılan kısa yol: git checkout -b feature/login veya daha modern kullanım: git switch -c feature/login

4) Git HEAD Nedir?

Git, hangi branch’in aktif olduğunu HEAD pointer’ı ile takip eder. HEAD, “şu an neredeyim?” sorusunun cevabıdır.

Örnek:

HEAD -> main
      

HEAD hangi branch’e bağlıysa, commit yaptığınızda ilerleyen pointer o branch olur.

5) Git Checkout ile Branch Değiştirme

Bir branch’e geçmek için şu komutu kullanabilirsiniz:

git checkout testing
      

Bu komut:

  • HEAD pointer’ını testing branch’ine taşır,
  • çalışma dizinini o branch’in snapshot’ına göre günceller.

Artık yapacağınız commit’ler testing üzerinde ilerlerken main branch sabit kalır. Bu da “ana hattı bozmadan” çalışma yapmanın temelidir.

6) Branch’ler Nasıl Ayrışır?

Farklı branch’lerde commit yaptıkça proje yapısı örneğin şöyle görünür:

main    → C1
testing → C2
      

Her branch kendi gelişim hattını oluşturur. Git branching’in gerçek gücü de tam olarak buradan gelir: Aynı proje üzerinde paralel geliştirme yapılabilir.

7) Branch Yapısını Gösterme

Branch grafiklerini görmek için şu komutu çalıştırabilirsiniz:

git log --oneline --decorate --graph --all
      

Bu komut; branch’lerin, commit geçmişinin ve pointer’ların nasıl ilerlediğini görsel olarak gösterir. Özellikle merge sonrası “hangi commit nereden geldi?” sorusuna hızlı cevap verir.

git log --oneline --decorate --graph --all çıktısı örneği
Branch grafiği, commit akışını net görmenizi sağlar.

8) Git Branching Neden Bu Kadar Güçlü?

  • Branch oluşturma neredeyse anlıktır ve çok hızlıdır.
  • Büyük projelerde bile hafiftir; performansı etkilemez.
  • Paralel geliştirmeyi kolaylaştırır (özellik, bugfix, test).
  • Sık branch açma ve merge etme pratik hale gelir.
  • Modern ekip çalışma modelleri için idealdir (code review, PR/MR).
Takım çalışması ipucu: Branch mantığını oturtunca GitLab üzerinden proje çekme ve çalıştırma adımları daha anlaşılır hale gelir.

9) Sık Sorulan Sorular (FAQ)

Branch silersem commit’ler silinir mi?

Hayır. Branch silmek çoğu durumda sadece pointer’ı kaldırır. Commit’ler bir süre Git geçmişinde bulunur ve reflog üzerinden geri getirilebilir.

main branch’e direkt commit atmalı mıyım?

Takım projelerinde genellikle önerilmez. Feature branch açıp Merge Request / Pull Request ile ilerlemek daha güvenlidir.

Branch isimlendirme nasıl olmalı?

Anlamlı ve standardize isimler kullanın: feature/login, bugfix/null-pointer, hotfix/payment. Bu, ekip içi anlaşılabilirliği artırır.

Branch stratejisi seçerken ayrıca şu yazı da faydalı olur: SVN ve Git Arasındaki Farklar

10) Sonuç

Git branching, yazılım geliştirme sürecinin en kritik parçalarından biridir. Hızlı, hafif ve esnek yapısı sayesinde birden fazla geliştiricinin paralel çalışmasına olanak tanır. Git’in gerçek gücü, branch yapısını doğru kullanmakla ortaya çıkar.

Etiketler: git branching nedir, git branch oluşturma, git checkout, git switch, git head nedir, git log graph

Güncelleme: 2026 🚀

Latest Software Developers - Yazılım Blog Yazarı Profil Resmi

Yazar

LatestSoftwareDevelopers

Blog where the most up-to-date software is followed. (En güncel yazılımların takip edildiği blog sitesi)

Devops ile ilgili yorumlar

Yorum Paylaş

EMail Zorunlu alanlar * *