Melihat Riwayat: git log & git show
Menjelajahi riwayat commit dengan berbagai format dan memeriksa isi satu commit.
git log: buku harian proyek
Setelah punya beberapa commit, kamu perlu membaca riwayatnya. git log menampilkan commit dari yang terbaru:
commit 9c1d5e0a8b... (HEAD -> main)
Author: Dina Rahma <dina@kelasit.com>
Date: Tue Oct 6 09:30:00 2026 +0700
Tambah style.css
commit 41be7d2f33...
Author: Dina Rahma <dina@kelasit.com>
...
Di baris pertama, tanda dalam kurung adalah dekorasi: HEAD -> main berarti kamu sedang berada di branch main dan commit itulah ujungnya.
Format dan filter yang paling berguna
| Perintah | Fungsi |
|---|---|
git log --oneline | Satu baris per commit (hash pendek + pesan) |
git log -n 3 | Hanya 3 commit terakhir |
git log --stat | Tampilkan berkas yang berubah per commit |
git log --graph --oneline --all | Gambar grafik cabang (sangat membantu) |
git log --author="Dina" | Commit milik satu penulis |
git log --grep="login" | Commit yang pesannya memuat kata tertentu |
git log main..fitur | Commit yang ada di fitur tapi belum di main |
Merujuk commit
Kamu tidak perlu mengetik 40 karakter hash. Cukup 7 karakter awal (atau lebih sedikit asal unik). Ada juga referensi relatif:
HEAD # commit terakhir di branch saat ini
HEAD~1 # induk dari HEAD (satu langkah ke belakang)
HEAD~3 # tiga langkah ke belakang
main # ujung branch main
v1.0 # tag
git show: isi satu commit
git show HEAD~1 # rincian commit + perubahan (diff)-nya
git show 41be7d2 # berdasarkan hash
git show HEAD:README.md # isi berkas README.md pada commit HEAD
Menyimpan keluaran ke berkas
Seperti perintah shell lain, keluaran bisa dialihkan: git log --oneline > riwayat.txt. Berguna untuk laporan atau changelog sederhana.
Apa itu HEAD?
HEAD adalah penunjuk "kamu ada di sini". Biasanya ia menunjuk ke sebuah branch, dan branch menunjuk ke commit terakhirnya. Bab branch akan membahasnya lebih jauh.
Di dunia nyata
Di git log Git asli, gunakan Spasi untuk halaman berikutnya dan q untuk keluar dari pager. Beberapa orang membuat alias: git config --global alias.lg "log --graph --oneline --all".