Git Diff
Terakhir diperbarui
git diff menampilkan perubahan baris demi baris secara persis di antara dua keadaan repositorimu. Tanpa argumen, perintah ini menampilkan apa yang sudah kamu ubah tapi belum di-stage. Tambahkan --staged untuk melihat yang sudah di-stage, sebutkan dua commit atau branch untuk membandingkannya, atau sebutkan sebuah file untuk mempersempit hasilnya.
Coba perintah-perintah ini di playground terminal: shell sungguhan di browsermu, tanpa perlu instalasi.
Sintaks
| Perintah | Fungsinya |
|---|---|
git diff | Perubahan yang belum di-stage vs index |
git diff --staged | Perubahan yang sudah di-stage vs commit terakhir |
git diff HEAD | Semua perubahan sejak commit terakhir |
git diff main feature | Perbedaan antara dua branch |
git diff <hash1> <hash2> | Perbedaan antara dua commit |
git diff -- file.txt | Perubahan pada satu file |
Kasus umum
| Tujuan | Perintah |
|---|---|
| Lihat apa yang akan kamu commit | git diff --staged |
| Lihat pekerjaan yang belum di-commit | git diff |
| Bandingkan branch-mu dengan main | git diff main |
| Hanya nama file yang berubah | git diff --name-only |
Pertanyaan seputar git diff
Apa yang ditampilkan git diff secara default?
git diff menampilkan perubahan di working tree yang belum di-stage, yaitu apa yang sudah kamu edit sejak git add terakhir. Untuk melihat yang sudah di-stage (dan akan masuk commit berikutnya), pakai git diff --staged; untuk melihat semuanya sejak commit terakhir, pakai git diff HEAD.Apa bedanya git diff dan git diff --staged?
git diff membandingkan working tree dengan staging area (perubahan yang belum di-stage). git diff --staged (juga --cached) membandingkan staging area dengan commit terakhir (perubahan yang sudah di-stage). Bersama-sama, keduanya menunjukkan dua bagian dari pekerjaanmu yang belum di-commit.Bagaimana cara melihat diff antara dua branch atau commit?
git diff main feature menampilkan apa yang berbeda di antara dua branch, dan git diff <hash1> <hash2> membandingkan dua commit. Tambahkan -- <file> di akhir untuk membatasi perbandingan ke satu file.Bagaimana cara melihat file mana saja yang berubah, tanpa diff lengkapnya?
git diff --name-only untuk nama file saja, atau git diff --stat untuk ringkasan berisi setiap file dan jumlah baris yang berubah. Keduanya praktis untuk gambaran singkat sebelum membaca diff lengkap baris demi baris.Bisakah saya berlatih ini secara online?
git diff di shell sungguhan di browsermu, tanpa perlu instalasi. Kursus Git interaktif gratis dari Coddy juga membahas cara memeriksa perubahan langkah demi langkah.