Menu
Coddy logo textTech

Git Fetch vs Pull

Son güncelleme

git fetch uzaktaki en son commit'leri indirir ama çalışma branch'inizi tam olduğu gibi bırakır. git pull aynı indirmeyi yapar ve ardından bu commit'leri hemen mevcut branch'inize merge eder. Kısacası: git pull = git fetch + git merge.

Atlamadan önce bakmak istediğinizde fetch, entegre etmeye hazır olduğunuzda pull kullanın. Her ikisini de terminal playground'da deneyin: tarayıcınızda gerçek bir shell.

git fetch yeni commitleri indirir ve yalnızca origin/main'i günceller - dalın bekler; git pull ise hemen birleştirir.

Yan yana

Behaviorgit fetchgit pull
Uzak commit'leri indirirEvetEvet
Mevcut branch'inizi değiştirirHayırEvet
Merge çakışmalarına yol açabilirHayırEvet
Eşdeğeriyalnızca indirmefetch + merge

Sözdizimi

CommandWhat it does
git fetchTüm uzak değişiklikleri indirir, merge etmez
git fetch origin mainBir uzaktan yalnızca bir branch getirir
git pullİndirir ve mevcut branch'e merge eder
git pull --rebaseİndirir, ardından commit'lerinizi üstüne rebase eder
git log HEAD..origin/mainFetch sonrası: neyi merge edeceğinizi görün

Git fetch vs pull SSS

git fetch ile git pull arasındaki fark nedir?
git fetch yeni commit'leri indirir ve uzak izleme branch'lerinizi (origin/main gibi) günceller ama çalışma branch'inizi değiştirmez. git pull aynı fetch işlemini yapar ve ardından yeni commit'leri mevcut branch'inize merge eder. Yani pull dosyalarınızı değiştirir; fetch ise yalnızca uzak hakkındaki bilginizi günceller.
git pull sadece fetch artı merge mi?
Evet. git pull, git fetch'in ardından getirilen branch'in mevcut branch'inize git merge edilmesinin kısaltmasıdır. git pull --rebase ile ikinci adım merge yerine bir rebase olur ve bu geçmişi doğrusal tutar.
Ne zaman pull yerine fetch kullanmalıyım?
Gelen değişiklikleri entegre etmeden önce incelemek istediğinizde git fetch kullanın; örneğin, tam olarak neyin yeni olduğunu görmek için git fetch ardından git log HEAD..origin/main. Uzak değişikliklere zaten güveniyorsanız ve yalnızca bunların branch'inize merge edilmesini istiyorsanız git pull kullanın.
git fetch hiç çakışmaya yol açar mı?
Hayır. Fetch yalnızca uzak izleme branch'lerini günceller; çalışma branch'inize veya dosyalarınıza asla dokunmaz, bu yüzden merge çakışması üretemez. Çakışmalar yalnızca merge adımında ortaya çıkar; bunu pull otomatik olarak yapar ama fetch yapmaz.
Bunu çevrimiçi olarak pratik edebilir miyim?
Evet. git fetch ve git pull komutlarını tarayıcınızdaki gerçek bir shell'de çalıştırmak için terminal playground'u açın; kurulacak bir şey yok. Coddy'nin ücretsiz etkileşimli Git kursu da uzaklarla çalışmayı adım adım kapsar.
Coddy programming languages illustration

Coddy ile Git öğren

BAŞLA