Git pull
dan fetch
merupakan dua perintah yang selalu digunakan oleh pengguna Git. Mari lihat perbezaan antara kedua-dua arahan.
Demi konteks, perlu diingat bahawa kita mungkin bekerja di clone repo. Apa itu klon? Ini hanyalah pendua dari repositori lain. Pada dasarnya mendapatkan salinan kod sumber orang lain sendiri.
Yang demikian, untuk memastikan klon anda diperbaharui dengan perubahan apa pun yang mungkin berlaku pada yang asli, anda perlu membawa klon ke klon anda.
Di situlah fetch
dan pull
masuk.
git fetch
adalah perintah yang memberitahu git tempatan anda untuk mengambil maklumat meta-data terkini dari yang asli (namun tidak melakukan pemindahan fail. Lebih seperti hanya memeriksa untuk melihat apakah ada perubahan yang tersedia).
git pull
sebaliknya melakukan DAN membawa (menyalin) perubahan tersebut dari repositori jauh.
Sebagai contoh:
git pull origin ankur bugfix
Pembawaan ini perlu diingat bahawa umumnya terdapat sekurang-kurangnya tiga salinan projek di stesen kerja anda.
- Satu salinan adalah repositori anda sendiri dengan sejarah komitmen anda sendiri (yang sudah disimpan, boleh dikatakan).
- Salinan kedua adalah salinan kerja anda di mana anda menyunting dan membina (belum komited ke repo anda).
- Salinan ketiga adalah salinan repositori jauh "cache" tempatan anda (mungkin yang asli dari tempat anda mengklon anda).
Anda boleh gunakan git fetch
untuk mengetahui perubahan yang dilakukan di repo / cabang jauh sejak tarikan terakhir anda. Ini berguna untuk diperiksa sebelum melakukan tarikan sebenar, yang dapat mengubah fail di cawangan semasa dan salinan kerja anda (dan berpotensi kehilangan perubahan anda, dll).
git fetch git diff ...origin