Jelajahi 'mesin waktu' Git Anda! Pelajari cara menggunakan perintah `git log` untuk melihat daftar commit, detail perubahan, penulis, tanggal, dan memfilter histori.
17m bacaanKuis WajibMicro Badge Lesson
Nengok ke "Masa Lalu" Proyek: Jurus git log Buat Liat Histori Commit!
Udah jago kan nge-add dan nge-commit perubahan di proyekmu? Setiap commit itu kayak kamu nyimpen "foto" atau "checkpoint" dari kondisi kodemu di waktu tertentu. Nah, gimana caranya kita liat lagi "album foto" atau daftar checkpoint yang udah kita kumpulin itu?
Di sinilah perintah git log beraksi! git log itu kayak buku harian proyekmu, dia nyatet semua commit yang udah pernah kamu buat, lengkap dengan informasinya.
Perintah Dasar: git log
Cara paling gampang buat liat histori commit adalah dengan ngetik:
bash
git log
Jalanin perintah ini di terminal, pas kamu lagi ada di dalem folder repositori Git-mu.
Apa yang Ditampilin git log Default?
Secara default, git log bakal nampilin daftar commit dari yang paling baru (paling atas) ke yang paling lama. Tiap entri commit biasanya nunjukin:
Commit Hash (SHA-1 Hash):
Serangkaian karakter heksadesimal yang panjang dan unik (misal, a1b2c3d4e5f6...). Ini adalah ID unik buat tiap commit. Kamu bakal pake hash ini kalau mau ngacu ke commit tertentu (misal, pas mau balik ke versi lama).
Author (Penulis):
Nama dan alamat email orang yang ngebuat commit itu (ini diambil dari konfigurasi user.name dan user.email yang udah kita set sebelumnya!).
Date (Tanggal):
Tanggal dan waktu kapan commit itu dibuat.
Commit Message (Pesan Commit):
Pesan yang kamu tulis pas nge-commit -m "pesan ini". Ini penting banget buat ngertiin apa isi perubahan di commit itu.
(HEAD -> main): Ini nunjukin kalau HEAD (penunjuk ke commit saat ini/terbaru di branch yang lagi aktif) lagi nunjuk ke branch main.
Keluar dari Tampilan git log:
Kalau daftar commit-nya panjang banget, git log bakal nampilinnya pake pager (kayak perintah less di Linux/macOS).
Pake Panah Atas/Bawah atau PageUp/PageDown buat scroll.
Tekan tombol q buat keluar dari tampilan pager dan balik lagi ke prompt terminal.
Opsi-Opsi git log yang Bikin Tampilan Lebih Asyik
Output git log default kadang terlalu panjang dan detail. Untungnya, ada banyak banget opsi yang bisa kamu pake buat ngubah tampilannya jadi lebih ringkes atau lebih informatif sesuai kebutuhan.
Berikut beberapa opsi yang sering dipake:
--oneline:
Nampilin tiap commit cuma dalam satu baris: hash commit (versi singkat) dan subjek pesan commit. Super ringkes dan enak buat liat gambaran umum!
Nampilin histori commit dalam bentuk grafik ASCII art di sebelah kiri. Ini berguna banget buat ngeliat alur percabangan (branching) dan penggabungan (merging) kalau proyekmu udah pake branch.
bash
git log --graph --oneline --decorate --all# Kombinasi maut buat liat struktur branch!
--decorate: Nampilin nama branch dan tag di sebelah commit-nya.
--all: Nampilin histori dari semua branch, bukan cuma branch yang lagi aktif.
--stat:
Nampilin statistik singkat soal file apa aja yang diubah di tiap commit dan berapa banyak baris yang ditambah/dihapus.
bash
git log --stat
-p atau --patch:
Nampilin perubahan kode (diff/patch) yang sebenernya dilakuin di tiap commit. Kamu bisa liat persis baris mana yang ditambah, dihapus, atau diubah. Berguna banget buat ngereview kode lama.
bash
git log -p# Atau buat satu commit spesifik (misal, 2 commit terakhir):# git log -p -2
Membatasi Jumlah Commit yang Ditampilkan:
-<jumlah>: Nampilin cuma sejumlah commit terakhir.
Contoh: git log -3 (nampilin 3 commit terakhir).
Contoh: git log --oneline -5 (nampilin 5 commit terakhir dalam format satu baris).
Filter Berdasarkan Waktu:
--since="<tanggal>" atau --after="<tanggal>": Nampilin commit sejak tanggal tertentu.
--until="<tanggal>" atau --before="<tanggal>": Nampilin commit sebelum tanggal tertentu.
Format tanggal bisa macem-macem, misal "2024-01-01" atau "2 weeks ago".
Contoh: git log --oneline --since="1 week ago"
Filter Berdasarkan Author (Penulis):
--author="<nama_atau_email_author>": Nampilin commit dari author tertentu aja. Cocoknya pake pola pencocokan (misal, bagian nama atau email).
Contoh: git log --author="Budi"
Filter Berdasarkan Pesan Commit:
--grep="<pola_teks_di_pesan>": Nampilin commit yang pesan commit-nya mengandung pola teks tertentu.
Contoh: git log --grep="bugfix"
Filter Berdasarkan File:
git log -- <path/ke/file_atau_folder>: Nampilin histori commit yang ngubah file atau folder tertentu aja. Tanda -- (dua strip) itu penting buat misahin opsi git log sama path file.
Contoh: git log -- index.html (histori perubahan file index.html).
Contoh: git log -p -- css/style.css (liat diff perubahan di style.css).
Kombinasi Opsi:
Kamu bisa gabungin banyak opsi sekaligus buat dapet output git log yang paling sesuai sama kebutuhanmu!
Contoh:
bash
git log --author="Ani" --since="2024-06-01" --oneline --graph --decorate -- src/fitur_A/# Liat commit dari Ani, sejak 1 Juni 2024, tampilan oneline graph,# cuma buat perubahan di folder src/fitur_A/
Alat Bantu Visual (GUI) buat git log
Kalau output git log di terminal kerasa kurang enak diliat, banyak juga alat bantu GUI (Graphical User Interface) buat Git yang bisa nampilin histori commit dengan lebih visual dan interaktif.
VS Code Git Integration: View Source Control di VS Code biasanya punya panel "History" atau bisa pake ekstensi kayak "GitLens" yang ngasih visualisasi histori commit yang keren banget langsung di editor.
Git GUI Clients: Aplikasi kayak Sourcetree, GitKraken, GitHub Desktop, dll. punya tampilan histori yang sangat bagus.
Tapi, tetep penting buat ngerti cara pake git log di command line, karena itu dasar dan selalu bisa diandelin di mana aja kamu pake Git.
git log ini adalah "kaca spion" dan "buku catatan"-mu di Git. Dengan sering-sering ngintip histori, kamu jadi bisa lebih paham sama perkembangan proyekmu, gampang nyari tau kapan suatu perubahan dibuat, atau bahkan belajar dari kesalahan (atau keberhasilan!) di masa lalu.
Jangan ragu buat nyoba-nyoba berbagai opsi git log biar kamu nemu format tampilan yang paling kamu suka dan paling informatif buatmu!
Checkpoint KuisTarget: 70%
Kuis Melihat Histori Commit (git log)
Kuis ini wajib untuk sertifikat. Kamu tetap bisa lanjut ke pelajaran berikutnya dan mengerjakannya nanti.