Sobes.tech
Junior

Git'te pull ve fetch komutları arasındaki fark nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

git fetch uzak depodan değişiklikleri indirir, ancak bunları mevcut dalınıza uygulamaz. git pull bir git fetch yapar ve ardından alınan değişiklikleri otomatik olarak (merge) mevcut dal ile birleştirir.

Ana farklar:

Komut Eylem Çalışma kopyası / dal üzerindeki etkisi
git fetch Nesneleri (commitler, dosyalar) indirir Çalışma kopyasını veya mevcut dalı değiştirmez
git pull Nesneleri indirir ve değişiklikleri birleştirir Mevcut dalı ve çalışma kopyasını günceller

Kullanım örneği:

Uzak sunucuda ne değiştiğini görmek için:

git fetch origin

(Değişiklikleri git log origin/<dal> ile kontrol edebilirsiniz)

Değişiklikleri alıp otomatik olarak mevcut dala uygulamak için:

git pull origin main # örneğin

git pull, temelde git fetch ve git merge veya git rebase'in ardışık olarak yürütülmesine eşdeğerdir (ayarlarınıza bağlı olarak).

# git pull ile eşdeğerdir
git fetch origin
git merge origin/main # mevcut dalınız main ise ve birleştirme stratejisi olarak merge kullanıyorsanız

git fetch kullanımı daha fazla kontrol sağlar, çünkü birleştirmeden önce gelen değişiklikleri gözden geçirebilirsiniz. git pull hızlı senkronizasyon için uygundur.