Git Fetch vs Pull
Terakhir diperbarui
git fetch mengunduh commit terbaru dari remote tapi membiarkan branch kerjamu persis seperti sebelumnya. git pull melakukan unduhan yang sama lalu langsung melakukan merge commit-commit itu ke branch saat ini. Singkatnya: git pull = git fetch + git merge.
Pakai fetch kalau kamu ingin melihat dulu sebelum bertindak; pakai pull kalau kamu siap menggabungkan. Coba keduanya di playground terminal: shell sungguhan di browsermu.
Berdampingan
| Perilaku | git fetch | git pull |
|---|---|---|
| Mengunduh commit dari remote | Ya | Ya |
| Mengubah branch saat ini | Tidak | Ya |
| Bisa menimbulkan konflik merge | Tidak | Ya |
| Sama dengan | hanya unduh | fetch + merge |
Sintaks
| Perintah | Fungsinya |
|---|---|
git fetch | Mengunduh semua perubahan remote, tanpa merge |
git fetch origin main | Fetch satu branch saja dari remote |
git pull | Fetch lalu merge ke branch saat ini |
git pull --rebase | Fetch, lalu rebase commit-mu di atasnya |
git log HEAD..origin/main | Setelah fetch: lihat apa yang akan di-merge |
Pertanyaan seputar git fetch vs pull
Apa perbedaan git fetch dan git pull?
git fetch mengunduh commit baru dan memperbarui branch remote-tracking-mu (seperti origin/main), tapi tidak mengubah branch kerjamu. git pull melakukan fetch yang sama lalu menggabungkan (merge) commit baru itu ke branch saat ini. Jadi pull mengubah file-mu; fetch hanya memperbarui pengetahuanmu tentang remote.Apakah git pull hanya fetch ditambah merge?
Kapan sebaiknya memakai fetch, bukan pull?
git fetch kalau kamu ingin meninjau perubahan yang masuk sebelum menggabungkannya, misalnya git fetch lalu git log HEAD..origin/main untuk melihat persis apa yang baru. Pakai git pull kalau kamu sudah percaya pada perubahan di remote dan hanya ingin menggabungkannya ke branch-mu.Apakah git fetch bisa menimbulkan konflik?
Tidak. Fetch hanya memperbarui branch remote-tracking; perintah ini tidak pernah menyentuh branch kerja atau file-mu, jadi tidak mungkin menimbulkan konflik merge. Konflik hanya muncul di langkah merge, yang dijalankan otomatis oleh pull tapi tidak oleh fetch.
Bisakah saya berlatih ini secara online?
git fetch dan git pull di shell sungguhan di browsermu, tanpa perlu instalasi. Kursus Git interaktif gratis dari Coddy juga membahas cara bekerja dengan remote langkah demi langkah.