Menu
CoddyTech

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.

git fetch mengunduh commit baru dan hanya memperbarui origin/main, branch-mu menunggu; git pull langsung menggabungkannya.

Berdampingan

Perilakugit fetchgit pull
Mengunduh commit dari remoteYaYa
Mengubah branch saat iniTidakYa
Bisa menimbulkan konflik mergeTidakYa
Sama denganhanya unduhfetch + merge

Sintaks

PerintahFungsinya
git fetchMengunduh semua perubahan remote, tanpa merge
git fetch origin mainFetch satu branch saja dari remote
git pullFetch lalu merge ke branch saat ini
git pull --rebaseFetch, lalu rebase commit-mu di atasnya
git log HEAD..origin/mainSetelah 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?
Ya. git pull adalah singkatan dari git fetch yang diikuti git merge dari branch yang diambil ke branch saat ini. Dengan git pull --rebase, langkah keduanya adalah rebase, bukan merge, sehingga riwayat tetap lurus.
Kapan sebaiknya memakai fetch, bukan pull?
Pakai 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?
Bisa. Buka playground terminal untuk menjalankan 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.
Ilustrasi bahasa pemrograman di Coddy

Belajar Git bersama Coddy

Mulai