Git'te yeni branch oluşturmanın en kısa yolu git switch -c branch-adi komutunu çalıştırmaktır. Bu komut, mevcut konumdan yeni bir yerel branch oluşturur ve çalışma alanını aynı anda bu branch'e geçirir. İşleme başlamadan önce git status ile aktif branch'i ve çalışma alanındaki değişiklikleri kontrol etmen, başlangıç noktanı netleştirir.
Örneğin git switch -c ozellik-selamlama komutu, ozellik-selamlama adında yeni bir branch açar ve sonraki çalışmayı bu branch üzerinde sürdürmeni sağlar.
git switch -c ile yeni branch nasıl oluşturulur?
Yeni branch oluşturmadan önce bulunduğun branch'i ve bekleyen değişiklikleri kontrol etmek için git status komutunu çalıştır:
git status
Başlangıç durumu uygunsa yeni branch'i oluşturup doğrudan ona geçebilirsin:
git switch -c ozellik-selamlama
Bu komutta -c, yeni branch oluşturma ve çalışma alanını bu branch'e geçirme işlemlerini birlikte yapar. Yeni branch mevcut konumundan oluşturulur. Komut başarılı olduğunda, dosyalarında yapacağın değişiklikler aktif hâle gelen ozellik-selamlama branch'i üzerinde ilerler.
Geçişi doğrulamak için aktif branch'in adını yazdırabilirsin:
git branch --show-current
ozellik-selamlama
Çıktıda ozellik-selamlama görünüyorsa çalışma alanın yeni branch'e geçmiştir. Böylece dosya oluşturma, kod düzenleme ve değişiklikleri kaydetme adımlarına doğru branch üzerinde devam edebilirsin.
Başlamadan önce git status ve git branch ile durumu kontrol et

Branch oluşturmadan önce iki farklı bilgiyi ayrı ayrı inceleyebilirsin: git status çalışma alanının durumunu, git branch ise yerel branch listesini gösterir.
git status
Temsili olarak aşağıdaki çıktıyı gördüğünü düşün:
On branch ana
nothing to commit, working tree clean
On branch ana satırı, aktif branch'in ana olduğunu belirtir. nothing to commit, working tree clean ifadesi ise Git'in commit'e hazır veya çalışma alanında bekleyen bir değişiklik görmediğini anlatır. Dosyalarda değişiklik varsa git status bunları da listeler.
Yerel branch'leri listelemek için git branch komutunu kullan:
git branch
* ana
deneme
Bu örnekte ana ve deneme yerel branch'lerdir. Satırın başındaki yıldız işareti, o anda aktif olan branch'i gösterir. Yıldız ana satırındaysa çalışma alanın ana branch'ine bağlıdır.
Aktif branch'i tek satırda doğrula
Yalnızca aktif branch'in adını görmek istersen git branch --show-current komutunu çalıştırabilirsin:
git branch --show-current
ana
Bu komut, aktif branch'in adını doğrudan yazdırır. Böylece liste içindeki yıldızı yorumlamadan önce veya yeni bir branch'e geçtikten sonra çalışma konumunu hızlıca doğrulayabilirsin.
Var olan branch'e geç
Listede zaten bulunan bir branch'e geçmek için -c seçeneğini kullanmadan git switch mevcut-branch biçimini kullan:
git switch deneme
git branch --show-current
Switched to branch 'deneme'
deneme
İlk komut çalışma alanını var olan deneme branch'ine geçirir. İkinci komut ise geçişin sonucunu gösterir. Burada yeni branch oluşturulmaz, listede bulunan yerel branch etkinleştirilir.
git branch ve git switch ile iki aşamalı alternatif

Yeni branch'i oluşturma ve o branch'e geçme işlemlerini iki ayrı komutla da yapabilirsin. git branch yeni-branch mevcut commit'i temel alarak branch oluşturur, ancak aktif branch'i değiştirmez. Ardından git switch yeni-branch komutuyla çalışma alanını yeni branch'e geçirirsin.
git branch yeni-branch
git switch yeni-branch
| Komut dizisi | Branch oluşturma | Aktif branch'e geçiş | Sonuç |
|---|---|---|---|
git branch yeni-branch |
Evet | Hayır | Branch oluşturulur, mevcut branch aktif kalır. |
git branch yeni-branchgit switch yeni-branch |
Evet | Evet, ikinci komutla | Önce branch hazırlanır, sonra çalışma alanı ona geçirilir. |
git switch -c yeni-branch |
Evet | Evet, aynı komutta | Branch oluşturulur ve başarılı işlem sonunda aktif hâle gelir. |
İki aşamalı yöntem, branch'i önce oluşturup geçişi daha sonra yapacağın durumlarda anlaşılır bir akış sunar. Hemen çalışmaya başlayacaksan git switch -c yeni-branch iki adımı tek komutta birleştirir.
Ana branch ve özellik branch'ini mini Python projesiyle gör
Aşağıdaki örnekte main ana branch, ozellik-selamlama ise özellik branch'i olarak kullanılır. Bu branch adları yalnızca örnektir. Başlangıçta main branch'inde selam.py dosyasını oluştur:
mesaj = "Ana branch"
print(mesaj)
python selam.py
Ana branch
git add selam.py
git commit -m "Ana branch başlangıcı"
git switch -c ozellik-selamlama
python selam.py sonucundaki Ana branch çıktısı, dosyanın ana branch'teki hâlini gösterir. git add selam.py dosyayı bir sonraki commit için hazırlar. git commit ise hazırlanan içeriği ana branch'in geçmişine kaydeder. Son komut, yeni özellik branch'ini oluşturur ve çalışma alanını bu branch'e geçirir. Python komutu sistemine göre python3 olarak da çalıştırılabilir.
Şimdi aynı dosyayı özellik branch'inde değiştir:
mesaj = "Özellik branch'i"
print(mesaj)
python selam.py
Özellik branch'i
git status
On branch ozellik-selamlama
nothing to commit, working tree clean
git branch --show-current
ozellik-selamlama
İkinci Python çıktısı, dosyanın özellik branch'indeki sürümünün kullanıldığını gösterir. git status çalışma alanında kaydedilmemiş değişiklik olmadığını, git branch --show-current ise aktif branch'in gerçekten ozellik-selamlama olduğunu doğrular.
git add selam.py
git commit -m "Özellik mesajını ekle"
Bu komutlarla yeni mesajı özellik branch'inin commit geçmişine kaydedersin. Branch'ler arasında geçiş yaptığında ayrı klasör kopyaları oluşmaz. Aynı çalışma alanında, aktif branch'in işaret ettiği commit'e göre dosyanın görünen sürümü ve izlenen geçmiş değişir.
git switch main
python selam.py
Ana branch
git switch ozellik-selamlama
python selam.py
Özellik branch'i
Commit öncesi doğru branch'i doğrulamak için kısa kontrol listesi
Commit oluşturmadan önce çalışma alanını, mevcut branch'i ve hazırlanacak dosyaları sırayla kontrol etmek karışıklığı azaltır. git status değişikliklerin çalışma alanı ve hazırlama alanındaki durumunu gösterir. git add sonraki commit için içerik hazırlar, git commit ise hazırlanan içeriği repository geçmişine kaydeder.
- Başlangıç durumunu kontrol et:
git statuskomutunu çalıştırarak değiştirilmiş, hazırlanmış veya henüz Git tarafından izlenmeyen dosyaları gör. Böylece çalışmaya başlamadan önce hangi dosyaların zaten değişmiş olduğunu bilirsin. - Mevcut branch'i doğrula:
git branch --show-currentkomutu hangi branch üzerinde olduğunu yazdırır. İstersengit statusçıktısını da kontrol ederek çalışma durumunu ve branch bilgisini birlikte inceleyebilirsin. - Yeni branch oluşturup geçiş yap: Örneğin
git switch -c hesaplama-ozelligikomutu yeni branch'i oluşturur ve çalışma alanını bu branch'e geçirir. Buradaki branch adı yalnızca örnektir; kendi projenin konusuna uygun bir ad seçebilirsin. - Dosyayı değiştir ve çıktıyı dene: Python dosyanı düzenledikten sonra örneğin
python hesaplama.pykomutuyla programı çalıştır. Beklenen çıktıyı kontrol etmek, commit öncesinde yaptığın değişikliğin amacına uygun çalışıp çalışmadığını görmeni sağlar. - Yalnızca ilgili dosyayı hazırla:
git add hesaplama.pykomutuyla yalnızca üzerinde çalıştığın dosyanın içeriğini sonraki commit için hazırlama alanına al. Ardındangit statusçalıştırarak staged değişikliğin doğru dosya olduğunu ve istemeden başka dosya eklenmediğini gözden geçir. - Commit sonrası durumu yeniden kontrol et:
git commit -m "Hesaplama özelliğini ekle"komutuyla hazırlanmış içeriği kaydet. Commit mesajını yaptığın değişikliği açıklayacak şekilde sen belirleyebilirsin. Sonra tekrargit statusçalıştırarak çalışma alanında kalan değişiklik veya izlenmeyen dosya olup olmadığını kontrol et.
Sık Sorulan Sorular
git switch -c ile oluşturulan yeni branch hangi noktadan başlar?
git switch -c branch-adi kullanıldığında yeni branch, özel bir başlangıç noktası verilmemişse mevcut HEAD konumundan başlar ve Git seni bu branch'e geçirir. Farklı bir başlangıç noktası belirtmek istersen komutun sonunda bir branch veya commit adı kullanabilirsin.
Commit edilmemiş değişiklikler varken yeni bir branch'e geçmeden önce neyi kontrol etmeliyim?
Önce git status ile hazırlanmış, hazırlanmamış ve izlenmeyen dosyaları incele. Bu değişikliklerin mevcut çalışmaya mı, geçmek istediğin branch'teki çalışmaya mı ait olduğunu netleştir. Git geçiş için her zaman tamamen temiz bir çalışma alanı istemez, ancak geçiş yerel değişikliklerin kaybolmasına yol açacaksa işlemi durdurabilir.
Kısacası, doğru branch'i doğrula, yalnızca ilgili dosyayı hazırla ve commit sonrasında çalışma alanını yeniden kontrol et.