Ana içeriğe atla

Git Uzaktaki Dalı Checkout Etme: Adım Adım Rehber

Uzaktaki bir dalı git checkout etmek için önce uzak depodan en son değişiklikleri fetch etmeniz gerekir, ardından dalın tam adını kullanarak (örn. origin/branch-name) dalı yerelde checkout edebilirsiniz.
Güncel 3 Eki 2026  · 4 dk. oku

Yapay Zeka ile Keşfedin

ChatGPTClaudePerplexity

Bir uzak depodaki dal üzerinde, örneğin bir çalışma arkadaşınızın işi veya yeni bir özellik dalı üzerinde çalışmamız gerektiğinde, bu dala yerelden erişme ve güncelleme zorluğuyla karşılaşırız.

Neyse ki, Git bu süreci, uzaktaki dalın yerel bir kopyasını oluşturmayı kolaylaştıran basit komutlarla kolaylaştırır. Bu sayede istediğimiz dala geçebilir, katkıda bulunabilir ve ekiple etkili şekilde işbirliği yapabiliriz.

Hızlı bir yanıt için, adı <branch_name> olan bir dalı checkout etmek üzere şu komutları çalıştırırız:

git fetch origin <branch_name>
git checkout -b <branch_name> origin/<branch_name>

Bu yazıda bu komutları inceliyor ve nasıl çalıştıklarını daha ayrıntılı öğreniyoruz.

İki Aşamalı Süreç: git fetch ve git checkout

Uzak bir dal üzerinde yerelde çalışmaya başlamak için önce yerel depomuzun uzak depo ile güncel olduğundan emin olmamız gerekir. Ardından yerel bir kopya oluşturup o dal üzerinde çalışmaya başlayabiliriz.

Yerel depoyu güncelleme

Yerel depoyu güncellemek için git fetch komutunu kullanırız. En basit hâliyle hiçbir argüman kullanmaz:

git fetch

Argümansız kullanıldığında git fetch komutu, varsayılan uzak depodan tüm dalları getirir. Bu, istediğimiz dalı da kapsasa da daha fazla yerel disk alanı kaplayacaktır.

Disk alanı bir endişe ise, komuta parametre olarak vererek almak istediğimiz dalı belirtebiliriz:

git fetch origin <branch_name>

<branch_name> ifadesini istediğiniz dalın adıyla değiştirin. origin parametresi uzak deponun adını belirtir. Varsayılan olarak, bir depoyu klonladığımızda uzak ad olarak origin kullanılır.

Fetch ile uzak referansları güncellemenin yerel dosyaları etkilemeyeceğini veya çakışmalara neden olmayacağını unutmamak önemlidir. Yerelde iki ayrı varlık vardır:

  • Geçerli çalışma dizini
  • Yerel depo

Geçerli değişikliklerimiz ve commit'lerimiz geçerli çalışma dizininde bulunur. Bunlar, bilgisayarımızda depo dizinini açtığımızda gördüğümüz dosyalardır. Bunlar git fetch ile güncellenmez. Yalnızca yerel depo güncellenir; bu, yerel makinemizde uzak deponun gizli bir kopyası olarak düşünülebilir.

Uzak bir dalı checkout etme

Uzak deponun güncel bir kopyasıyla, şimdi git checkout komutunu kullanarak uzak dalın yerel bir kopyasını oluşturabiliriz:

git checkout -b <branch_name> origin/<branch_name>

<branch_name> ifadesini istenen uzak dalın adıyla değiştirin. -b sonrasındaki ilk parametre, yerel dalın sahip olmasını istediğimiz addır. Geleneksel olarak ikisi için de aynı adı kullanırız, ancak başka bir yerel dal bu adı taşımıyorsa farklı bir ad da kullanabiliriz:

git checkout -b <local_branch_name> origin/<branch_name>

Bu komut başarıyla çalıştırıldıktan sonra Git, geçerli çalışma dizinini bu dala geçirir ve üzerinde çalışmaya hazır oluruz.

git checkout ve git switch karşılaştırması

git checkout komutu, Git'in ortaya çıkışından beri vardır. Kapsamı, dalların yerel kopyalarını oluşturmaktan veya bir daldan diğerine geçmekten daha geniştir. Örneğin, uzak depodan belirli dosyaları alabilir.

Git'in yeni sürümlerinde, tek amacı uzak dalların yerel kopyalarını oluşturmak ve yerel dallar arasında geçiş yapmak olan git switch komutu oluşturuldu.

git checkout komutunun geniş yetenekleri bazen hatalara yol açabildiği için git checkout yerine git switch kullanmanızı öneririm.

Bu yazıda öğrendiğimiz işlemleri git switch kullanarak nasıl gerçekleştirebileceğinizi öğrenmek için şu eğitimi okuyabilirsiniz: Git Switch Branch: Uygulamalı Örneklerle Bir Rehber.

Sonuç

Uzak bir Git dalının yerel kopyasını oluşturmak, işbirliği için çok önemlidir. git fetch ve git checkout kullanarak yerel depomuzu uzak değişikliklerle güncelleyebilir ve istediğimiz dala geçebiliriz.

Klasik git checkout güçlü bir işlevsellik sunarken, daha yeni git switch komutu özellikle dal yönetimi için daha yalın bir alternatif sağlar ve hata riskini azaltır.

SSS

"please commit your changes or stash them before you switch branches." hatası alıyorum. Nasıl düzeltirim?

Geçerli dalda commit'lenmemiş değişiklikler varsa Git başka bir dala geçmemize izin vermez. Bu sorunu çözmek için mevcut değişikliklerimizi ya stash'lemeli ya da commit etmeliyiz. 

Commit etmek için şu komutu kullanırız:

git commit -m "Commit message"

Alternatif olarak, değişiklikleri henüz commit etmeden korumak istiyorsak, işi geçici olarak kaydetmek için git stash komutunu kullanabiliriz:

git stash

Daha sonra, orijinal dala döndükten sonra git stash pop komutunu kullanarak bunları yeniden uygulayabiliriz.

Uzak dalın adı yerel bir dal ile aynıysa ne olur?

Git ile dal adlarının benzersiz olması gerekir. Dalın zaten var olduğunu söyleyen bir hata alırsak, aynı ada sahip yerel bir dal olduğu anlamına gelir. Bu iki anlama gelebilir:

  1. Bu dalı daha önce zaten checkout ettik. Bu durumda, git checkout <branch_name> komutunu kullanarak fetch yapmadan doğrudan ona geçebiliriz. Yeni bir dal oluşturmak istediğimizi belirtmek için kullanılan -b parametresini çıkardığımıza dikkat edin. Dal zaten mevcut olduğundan, yeniden oluşturmamıza gerek yok.
  2. Bir noktada, tesadüfen aynı ada sahip farklı bir dal oluşturmuş olabiliriz. Bunu, git checkout -b <different_name> origin/<branch_name> ile farklı bir dal adı kullanarak çözebiliriz.

Doğrudan bir uzak dalda değişiklik yapabilir miyim?

Hayır, Git dalındaki değişiklikler, yukarıda öğrendiğimiz gibi önce bir dalın yerel kopyasını oluşturup ardından yapmak istediğimiz değişiklikleri temsil eden commit'ler oluşturarak gerçekleştirilir.

Yerel dalımı, uzaktaki en son değişikliklerle nasıl güncellerim?

Yerel dalımızı, karşılık gelen uzak dalın en son değişiklikleriyle güncellemek için genellikle git pull komutunu kullanırız:

git pull origin <branch_name>

Bu, yerel dalımızı güncellemek için hem git fetch hem de git merge işlemlerini gerçekleştirir. git fetch komutunun, yerel depoyu uzak deponun en son sürümüyle güncellediğini öğrendik. git merge komutu bu değişiklikleri yerel dalımıza birleştirir. Daha fazla ayrıntı için bu Git push ve pull eğitimine göz atın.

"remote branch not found." hatası alıyorum. Nasıl düzeltirim?

Bu hata, dalın depomuzun yerel kopyasında bulunmadığını gösterir. Dolayısıyla ya:

  1. Dal mevcut değildir; bu, dal adında yazım hatası olduğunu ya da dalın önceden silinmiş eski bir dal olduğunu gösterebilir.
  2. Yerel depo güncel değildir. Yukarıda öğrendiğimiz gibi, git fetch kullanarak güncelleyebiliriz.

François Aubry's photo
Author
François Aubry
LinkedIn
CheapGPT’te full-stack mühendisi ve kurucuyum. Öğretmek her zaman tutkum oldu. Öğrencilik yıllarımdan itibaren diğer öğrencilere ders verme ve yardımcı olma fırsatlarını hevesle aradım. Bu tutku beni doktora yapmaya yönlendirdi; bu süreçte akademik çalışmalarımı desteklemek için araştırma görevlisi olarak da görev aldım. O yıllarda, geleneksel sınıf ortamında bağlar kurmaktan ve öğrenmeyi kolaylaştırmaktan büyük bir tatmin duydum. Ancak çevrim içi öğrenme platformlarının ortaya çıkmasıyla birlikte dijital eğitimin dönüştürücü potansiyelini fark ettim. Nitekim üniversitemizde bu tür bir platformun geliştirilmesinde aktif rol aldım. Geleneksel öğretim ilkelerini yenilikçi dijital yöntemlerle bütünleştirmeye derinden bağlıyım. Tutkum, yalnızca ilgi çekici ve bilgilendirici olmakla kalmayan, aynı zamanda bu dijital çağdaki öğrenenler için erişilebilir kurslar tasarlamaktır.
Konular
Git

Git hakkında daha fazla bilgi edinin!

Kurs

GitHub Kavramlarına Giriş

2 sa
53.7K
GitHub'ın çeşitli özelliklerini kullanmayı öğrenin, arayüzde gezinmeyi öğrenin ve günlük işbirliği görevlerini gerçekleştirin.
Ayrıntıları GörüntüleRight Arrow
Kursa Başla
Devamını GörRight Arrow
İlgili

blog

Hızlı Sevkiyat İçin Pratik Vibe Kodlama Teknoloji Yığını

Ön uç, arka uç, veritabanları, kimlik doğrulama, depolama, e-posta, test, dağıtım ve izleme için en iyi araçları keşfedin.
Abid Ali Awan's photo

Abid Ali Awan

14 dk.

blog

2026’da En Popüler 40 Yazılım Mühendisi Mülakat Sorusu

Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Dario Radečić's photo

Dario Radečić

15 dk.

Eğitim

.gitignore Nasıl Kullanılır: Örneklerle Pratik Bir Giriş

Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Kurtis Pykes 's photo

Kurtis Pykes

8 dk.

Eğitim

Python'da Listeyi String'e Nasıl Dönüştürürsünüz

Bu hızlı eğitimde, Python'da bir listeyi string'e nasıl dönüştüreceğinizi öğrenin.
Adel Nehme's photo

Adel Nehme

Devamını GörDevamını Gör