Git Fetch vs Pull: Apa Perbedaan Antara Perintah Git Fetch dan Git Pull?

Git pulldan fetchdua perintah yang biasa digunakan oleh pengguna Git. Mari kita lihat perbedaan antara kedua perintah tersebut.

Demi konteks, perlu diingat bahwa kami mungkin bekerja di repo klon. Apa itu klon? Ini hanyalah duplikat dari repositori lain. Ini pada dasarnya mendapatkan salinan Anda sendiri dari kode sumber orang lain.

Karena itu, agar klon Anda tetap diperbarui dengan perubahan apa pun yang mungkin telah diterapkan ke aslinya, Anda harus membawanya ke klon Anda.

Di situlah fetchdan pullmasuk.

git fetch adalah perintah yang memberi tahu git lokal Anda untuk mengambil info meta-data terbaru dari aslinya (namun tidak melakukan transfer file apa pun. Ini lebih seperti sekadar memeriksa untuk melihat apakah ada perubahan yang tersedia).

git pull di sisi lain melakukan itu DAN membawa (menyalin) perubahan itu dari repositori jarak jauh.

Sebagai contoh:

git pull origin ankur bugfix

Intinya adalah untuk diingat bahwa umumnya ada setidaknya tiga salinan proyek di workstation Anda.

  • Satu salinan adalah repositori Anda sendiri dengan riwayat komit Anda sendiri (yang sudah disimpan, bisa dikatakan).
  • Salinan kedua adalah copy pekerjaan Anda di mana Anda sedang mengedit dan membangun (belum berkomitmen pada repo Anda).
  • Salinan ketiga adalah salinan lokal "cache" dari repositori jarak jauh (mungkin yang asli dari tempat Anda mengkloning milik Anda).

Anda dapat menggunakan git fetchuntuk mengetahui perubahan yang dilakukan di repo / cabang jarak jauh sejak penarikan terakhir Anda. Ini berguna untuk memungkinkan pemeriksaan sebelum melakukan penarikan aktual, yang dapat mengubah file di cabang dan copy pekerjaan Anda saat ini (dan berpotensi kehilangan perubahan Anda, dll).

git fetch git diff ...origin