git pull' ve 'git fetch' arasındaki fark nedir?

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 pullvegit fetch` arasındaki farklar nelerdir?

Çözüm

En basit ifadeyle, git pull bir git fetch ve ardından bir git merge yapar.

Remote-tracking dallarınızı refs/remotes// 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ından git merge FETCH_HEAD için kısaltmadır.

Yorumlar (40)

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

Yorumlar (5)
git-pull - Başka bir depodan veya yerel bir daldan getirme ve birleştirme
SİNOPSİS

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

Yorumlar (3)