Berk Akademi
Birebir ders başvurusu Ücretsiz ön görüşme Ana Sayfa

Git'te Yeni Branch Nasıl Oluşturulur? branch ve switch -c Kullanımı

gitte-yeni-branch-nasil-olusturulur-branch-ve-switch-c-kullanimi
Bu yazıda neler var?
  1. git switch -c ile yeni branch nasıl oluşturulur?
  2. Başlamadan önce git status ve git branch ile durumu kontrol et
  3. git branch ve git switch ile iki aşamalı alternatif
  4. Ana branch ve özellik branch'ini mini Python projesiyle gör
  5. Commit öncesi doğru branch'i doğrulamak için kısa kontrol listesi
  6. Sık Sorulan Sorular

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

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

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-branch
git 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.

  1. Başlangıç durumunu kontrol et: git status komutunu ç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.
  2. Mevcut branch'i doğrula: git branch --show-current komutu hangi branch üzerinde olduğunu yazdırır. İstersen git status çıktısını da kontrol ederek çalışma durumunu ve branch bilgisini birlikte inceleyebilirsin.
  3. Yeni branch oluşturup geçiş yap: Örneğin git switch -c hesaplama-ozelligi komutu 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.
  4. Dosyayı değiştir ve çıktıyı dene: Python dosyanı düzenledikten sonra örneğin python hesaplama.py komutuyla 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.
  5. Yalnızca ilgili dosyayı hazırla: git add hesaplama.py komutuyla yalnızca üzerinde çalıştığın dosyanın içeriğini sonraki commit için hazırlama alanına al. Ardından git 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.
  6. 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 tekrar git 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.

Bu içerik aradığın cevabı verdi mi?
Yanıtın, hangi yazıları geliştirmemiz gerektiğini anlamamıza yardımcı olur.
Bu içeriğin üretilmesinde yapay zeka araçlarından destek alınmıştır.

Bu konudan sonra ne okuyabilirsin?

Tüm yazılar

İlgili Eğitimler

Berk Keskin, yazılım geliştirici ve eğitmen
Yazar

Berk Keskin Kimdir?

Yazılıma 12 yaşında başladı; İzmir Ekonomi Üniversitesi'ni bölüm birincisi ve yüksek şeref öğrencisi olarak tamamladı. Bugün yalnızca eğitim vermekle kalmıyor, sektörde aktif olarak yazılım projeleri geliştiriyor ve gerçek dünya deneyimini birebir derslerine taşıyor. Ezberden uzak, mühendislik zihniyetini merkeze alan sürdürülebilir öğrenme sistemleri tasarlayarak sorgulayan, üreten ve problem çözebilen yeni nesil yazılımcılar yetiştiriyor.

Sektörel Deneyim & Projeler

  • Ticarify Entegrasyon Yazılım logosu CEO Ticarify Entegrasyon YazılımPazaryerleri ve e-ticaret sitelerine otomatik e-fatura kesimi, sipariş ve kargo takibi hizmetleri sunan e-Dönüşüm platformunun API mimarisini ve yazılım ekibini yönetmektedir.
  • Benim Düğünüm logosu CEO Benim DüğünümDijital etkinlik ve anı paylaşım platformu.
  • Siberdizayn logosu Yazılım Ekibi Lideri SiberdizaynYüksek anlık oyuncu trafiğine sahip oyun kontrol panelleri ve sunucu altyapıları geliştiren yazılım ekibine liderlik etmektedir.
  • MEDYOGRAFYA 360° Dijital Çözümler logosu Dijital Strateji Lideri MEDYOGRAFYA 360° Dijital ÇözümlerŞirketlerin dijital çözümlerde uzun vadede nasıl ilerlemesi gerektiği ve dijital dönüşüm süreçlerinin yönetilmesine destek olmaktadır.
  • İzmir Ekonomi Üniversitesi logosu Danışma Kurulu Üyesi İzmir Ekonomi ÜniversitesiMezun olduğu üniversitesinde, Bilgisayar Programcılığı bölümünün akademik müfredatını güncel sektör ihtiyaçlarına göre şekillendirmek adına Danışma Kurulu'nda görev almaktadır.
WhatsApp Hemen Ara