Moderatör Notu: Bu soruya zaten altmış yedi cevap gönderildiği (bazıları silindi) göz önüne alındığında, başka bir tane göndermeden önce yeni bir şey katıp katmadığınızı düşünün.
git pullve
git fetch` arasındaki farklar nelerdir?
En basit ifadeyle, git pull
bir git fetch
ve ardından bir git merge
yapar.
Remote-tracking dallarınızı refs/remotes/<remote>/
altında güncellemek için istediğiniz zaman bir git fetch
yapabilirsiniz.
Bu işlem refs/heads
altındaki kendi yerel dallarınızı asla değiştirmez ve çalışma kopyanızı değiştirmeden güvenli bir şekilde yapılabilir. Hatta arka planda bir cron işi içinde periyodik olarak git fetch
çalıştıran insanlar bile duydum (ancak bunu yapmanızı tavsiye etmem).
Bir git pull
, yerel bir şubeyi uzak sürümüyle güncel hale getirmek ve aynı zamanda diğer uzak izleme şubelerinizi güncellemek için yapacağınız şeydir.
Git belgeleri - git pull:
Varsayılan modunda,
git pull
,git fetch
ve ardındangit merge FETCH_HEAD
için kısaltmadır.
git fetch`in kullanım alanlarından biri, son çekme işleminizden bu yana uzak daldaki değişiklikleri size bildirmesidir... böylece mevcut dalınızdaki ve çalışma kopyanızdaki dosyaları değiştirebilecek gerçek bir çekme işlemi yapmadan önce kontrol edebilirsiniz.
git fetch
git diff ...origin
Bkz: https://git-scm.com/docs/git-diff diff komutundaki çift ve üç noktalı sözdizimine ilişkin
git-pull - Başka bir depodan veya yerel bir daldan getirme ve birleştirme SİNOPSİSgit pull
... AÇIKLAMA Verilen parametrelerle git-fetch'i çalıştırır ve git-merge'i çağırarak alınan baş(lar)ı geçerli dala yerleştirir. --rebase ile git-rebase'i çağırır git-merge yerine.
Çekmek için
olarak . (geçerli dizin) kullanabileceğinizi unutmayın yerel depodan - bu, yerel dalları birleştirirken kullanışlıdır geçerli dalın içine. Ayrıca, git-pull'un kendisi ve git-merge'in altında yatan seçeneklere yönelik olduğunu unutmayın git-fetch için kullanılan seçeneklerden önce verilmelidir.
Geçmişlerin birleştirilmesini istiyorsanız çekersiniz, sadece 'kodz' istiyorsanız getirirsiniz; çünkü bir kişi buradaki bazı maddeleri etiketliyor.