Riwayat repository latihan kini berisi enam commit hasil kerja dua chapter sebelumnya, dan git log adalah jendela untuk menjelajahinya. Perintah ini punya banyak wajah: format panjang bawaan yang lengkap, --oneline yang ringkas, statistik perubahan, format kustom untuk kebutuhan skrip, hingga grafik riwayat bercabang. Chapter ini mencoba semuanya pada repository yang sama, lalu menyiapkan repository kecil bercabang supaya opsi --graph juga terlihat nyata.
Riwayat dalam Format Bawaan #
Tanpa opsi apa pun, git log menampilkan seluruh riwayat mulai dari commit terbaru:
git logOutput yang Dihasilkan:
commit 44ce6c19baec80deb9c0e0a5bb4b8f1121591b3f
Author: Budi Santoso <[email protected]>
Date: Tue Oct 13 10:10:00 2026 +0700
Catat perbaikan tautan panduan
commit 98ebe8ee89d53d0fb98a8c0686c70b6314399084
Author: Budi Santoso <[email protected]>
Date: Tue Oct 13 10:00:00 2026 +0700
Tandai mulai perapian dokumentasi
commit b1b2ec81662656f5e226cd2948b4f094a17e8f70
Author: Budi Santoso <[email protected]>
Date: Tue Oct 13 09:50:00 2026 +0700
Tambah tanya jawab kontribusi
Bagian FAQ kini menjelaskan cara mulai berkontribusi dokumen.
commit ea43d5648ca958010fbdf7ebb46584599281d7ff
Author: Budi Santoso <[email protected]>
Date: Tue Oct 13 09:40:00 2026 +0700
Tambah panduan dan catatan rilis
commit 462b791829f26390eb7773946830b6fe6e64efa4
Author: Budi Santoso <[email protected]>
Date: Tue Oct 13 09:20:00 2026 +0700
Tambah glosarium istilah
commit 642e91fda53453c1f4ab8078233f8a07f4909ba6
Author: Budi Santoso <[email protected]>
Date: Tue Oct 13 09:00:00 2026 +0700
Tambah README dokumentasiSetiap entri memuat empat hal: hash lengkap 40 karakter, baris Author dengan nama dan email, baris Date dengan waktu pembuatan, serta pesan commit yang menjorok empat spasi. Pesan multi-paragraf tampil utuh — terlihat pada commit b1b2ec8 yang judul dan isinya dipisah baris kosong.
Ringkas dengan –oneline dan Terbatas dengan -n #
Enam entri masih terbaca; seratus entri tidak. Opsi --oneline memampatkan setiap commit menjadi satu baris — hash pendek plus judul pesan:
git log --onelineOutput yang Dihasilkan:
44ce6c1 Catat perbaikan tautan panduan
98ebe8e Tandai mulai perapian dokumentasi
b1b2ec8 Tambah tanya jawab kontribusi
ea43d56 Tambah panduan dan catatan rilis
462b791 Tambah glosarium istilah
642e91f Tambah README dokumentasiJumlah entri dibatasi dengan -n <jumlah>:
git log -n 2Output yang Dihasilkan:
commit 44ce6c19baec80deb9c0e0a5bb4b8f1121591b3f
Author: Budi Santoso <[email protected]>
Date: Tue Oct 13 10:10:00 2026 +0700
Catat perbaikan tautan panduan
commit 98ebe8ee89d53d0fb98a8c0686c70b6314399084
Author: Budi Santoso <[email protected]>
Date: Tue Oct 13 10:00:00 2026 +0700
Tandai mulai perapian dokumentasiBentuk singkatnya -2 berarti sama dengan -n 2. Opsi ini saling bebas dikombinasikan — -n membatasi jumlah, format lain mengatur tampilan.
Statistik Perubahan dengan –stat #
Opsi --stat menyisipkan ringkasan berkas yang berubah pada setiap commit:
git log --stat -n 3Output yang Dihasilkan:
commit 44ce6c19baec80deb9c0e0a5bb4b8f1121591b3f
Author: Budi Santoso <[email protected]>
Date: Tue Oct 13 10:10:00 2026 +0700
Catat perbaikan tautan panduan
CATATAN-RILIS.md | 1 +
1 file changed, 1 insertion(+)
commit 98ebe8ee89d53d0fb98a8c0686c70b6314399084
Author: Budi Santoso <[email protected]>
Date: Tue Oct 13 10:00:00 2026 +0700
Tandai mulai perapian dokumentasi
commit b1b2ec81662656f5e226cd2948b4f094a17e8f70
Author: Budi Santoso <[email protected]>
Date: Tue Oct 13 09:50:00 2026 +0700
Tambah tanya jawab kontribusi
Bagian FAQ kini menjelaskan cara mulai berkontribusi dokumen.
docs/faq.md | 3 +++
1 file changed, 3 insertions(+)Baris CATATAN-RILIS.md | 1 + berarti satu berkas berubah dengan satu penambahan; angka pada kolom kanan mengikuti tanda plus-minus yang sama dengan git diff. Satu hal menarik terlihat pada commit 98ebe8e: entri tanpa baris statistik sama sekali — itulah commit kosong dari opsi --allow-empty di chapter git commit
.
Memilih Format dan Menyusun Format Sendiri #
Opsi --format mengganti keseluruhan tampilan. Format oneline mirip --oneline tetapi memakai hash lengkap:
git log --format=onelineOutput yang Dihasilkan:
44ce6c19baec80deb9c0e0a5bb4b8f1121591b3f Catat perbaikan tautan panduan
98ebe8ee89d53d0fb98a8c0686c70b6314399084 Tandai mulai perapian dokumentasi
b1b2ec81662656f5e226cd2948b4f094a17e8f70 Tambah tanya jawab kontribusi
ea43d5648ca958010fbdf7ebb46584599281d7ff Tambah panduan dan catatan rilis
462b791829f26390eb7773946830b6fe6e64efa4 Tambah glosarium istilah
642e91fda53453c1f4ab8078233f8a07f4909ba6 Tambah README dokumentasiFormat short memotong baris tanggal dari format bawaan:
git log --format=short -n 2Output yang Dihasilkan:
commit 44ce6c19baec80deb9c0e0a5bb4b8f1121591b3f
Author: Budi Santoso <[email protected]>
Catat perbaikan tautan panduan
commit 98ebe8ee89d53d0fb98a8c0686c70b6314399084
Author: Budi Santoso <[email protected]>
Tandai mulai perapian dokumentasiFormat full menambah baris Commit — identitas pihak yang terakhir menulis commit ke riwayat:
git log --format=full -n 2Output yang Dihasilkan:
commit 44ce6c19baec80deb9c0e0a5bb4b8f1121591b3f
Author: Budi Santoso <[email protected]>
Commit: Budi Santoso <[email protected]>
Catat perbaikan tautan panduan
commit 98ebe8ee89d53d0fb98a8c0686c70b6314399084
Author: Budi Santoso <[email protected]>
Commit: Budi Santoso <[email protected]>
Tandai mulai perapian dokumentasiPada commit biasa author dan committer orang yang sama; keduanya berbeda ketika commit dipindahkan lewat git cherry-pick atau git rebase — perbedaan ini dibahas pada chapter Anatomi Commit
. Format medium adalah nama format bawaan yang kita lihat sejak awal chapter.
Format kustom disusun dari placeholder yang diawali persen:
git log --format='%h %an %s'Output yang Dihasilkan:
44ce6c1 Budi Santoso Catat perbaikan tautan panduan
98ebe8e Budi Santoso Tandai mulai perapian dokumentasi
b1b2ec8 Budi Santoso Tambah tanya jawab kontribusi
ea43d56 Budi Santoso Tambah panduan dan catatan rilis
462b791 Budi Santoso Tambah glosarium istilah
642e91f Budi Santoso Tambah README dokumentasiPlaceholder yang paling sering dipakai:
| Placeholder | Arti |
|---|---|
%h | hash pendek |
%H | hash lengkap |
%an | nama author |
%ad | tanggal author |
%s | subjek — baris pertama pesan commit |
Kombinasi %h %s misalnya pas untuk laporan singkat, sedangkan %h %ad %s menambah waktu pembuatan. Daftar placeholder lengkap ada di chapter Format Log
.
Riwayat Bercabang dan –graph #
Semua tampilan di atas menggambarkan riwayat lurus. Riwayat sesungguhnya bisa bercabang ketika dua jalur kerja berjalan lalu menyatu lewat merge — dan opsi --graph menggambarnya. Kita siapkan repository kecil kedua untuk itu; branch dibahas tuntas di section Branch dan Merging
, jadi di sini cukup dua keterangan singkat: git switch -c <nama> membuat branch baru sekaligus berpindah ke sana, dan git merge <branch> menyatukan branch itu kembali:
mkdir latihan-cabang
cd latihan-cabang
git init -b main
git config user.name "Budi Santoso"
git config user.email "[email protected]"
printf '# Proyek Latihan Cabang\n' > README.md
git add README.md
git commit -m "Tambah README proyek"
printf 'Rencana fitur:\n- mode gelap\n- ekspor PDF\n' > fitur.md
git add fitur.md
git commit -m "Tambah daftar fitur"
git switch -c fitur-berita
printf 'Kerangka berita:\n- judul\n- ringkasan\n' > berita.md
git add berita.md
git commit -m "Tambah kerangka berita"
git switch main
printf '# Proyek Latihan Cabang\n\nRiwayat untuk latihan grafik commit.\n' > README.md
git add README.md
git commit -m "Perbarui deskripsi proyek"
git merge fitur-beritaOutput yang Dihasilkan:
Merge made by the 'ort' strategy.
berita.md | 3 +++
1 file changed, 3 insertions(+)
create mode 100644 berita.mdRiwayatnya kini bercabang: dua commit awal, branch fitur-berita menambah satu commit, main menambah satu commit lain, lalu merge menyatukan keduanya. Grafiknya:
git log --graph --onelineOutput yang Dihasilkan:
* 44ec785 Merge branch 'fitur-berita'
|\
| * a74214f Tambah kerangka berita
* | c96c6a0 Perbarui deskripsi proyek
|/
* d9743c6 Tambah daftar fitur
* bca0287 Tambah README proyekCara membacanya: setiap * adalah satu commit, dan garis | menghubungkan induk dengan anaknya. Baris kedua |\ memperlihatkan commit merge 44ec785 bercabang menjadi dua garis — kolom kiri adalah jalur main, kolom kanan jalur fitur-berita. Commit a74214f berada di kolom kanan, sedangkan c96c6a0 di kolom kiri dengan garis * |; baris |/ menandai kedua jalur menyatu kembali ke d9743c6, induk bersama mereka. Mekanisme merge ini dibahas tuntas pada chapter git merge
.
Masih banyak opsi penyaring riwayat — pencarian pesan, rentang tanggal, penulis tertentu, hingga git log lintas branch — yang terdokumentasi pada dokumentasi git log
dan dibahas di section Commit dan Riwayat
.
Daftar judul dan grafik memberitahu kapan dan siapa — tetapi untuk melihat apa persisnya yang berubah di antara dua titik riwayat, kita butuh chapter berikutnya: git diff .