Membaca Riwayat: log, diff, show dan Navigasi ke Masa Lalu
Riwayat proyek bukan sekadar log, melainkan dokumentasi keputusan. Mari belajar membaca riwayat secara informatif: memfilter commit, melihat perubahan antar versi, dan memahami hash SHA-1 tanpa rasa takut. Khususnya, kita akan bahas cara membedakan riwayat yang 'baik' dari yang 'buruk' — hal ini langsung memengaruhi cara Anda dipandang dalam tim.
- Anda akan mampu membaca riwayat repositori dan dengan cepat menemukan commit yang diinginkan berdasarkan penulis, tanggal, atau kata kunci.
- Anda akan memahami cara membandingkan versi file di berbagai level: direktori kerja, indeks, dan commit.
- Anda akan belajar menulis pesan commit yang sesuai dengan standar industri yang diakui (Conventional Commits).
Simula ng leksyon
Riwayat komit sebagai buku harian proyek
- git log menampilkan riwayat seperti buku harian yang dibalik
- Setiap entri adalah cuplikan perubahan
- Menyimpan siapa, kapan, dan apa yang diubah
- Membantu melihat evolusi kode
Bayangkan setiap kali Anda menyimpan perubahan di Git, Anda menulis satu catatan di buku harian pengembangan. Perintah git log menampilkan catatan-catatan itu dalam urutan terbalik—dari yang terbaru ke yang lama. Di dalam buku harian ini tersimpan kronologi lengkap proyek: siapa yang mengubah, kapan diubah, dan perubahan apa yang dilakukan. Ini bukan sekadar daftar perubahan, melainkan rekaman hidup dari evolusi kode Anda. Kemampuan membaca dan menganalisis riwayat ini adalah keterampilan penting saat bekerja dalam tim. Melalui riwayat komit, Anda bisa melihat bagaimana proyek berkembang, keputusan apa yang diambil, dan alasannya. Mari kita bahas lebih detail struktur satu komit.
Membaca catatan komit: hash, penulis, tanggal
- commit: pengenal hash unik
- Author: siapa dan kapan membuat perubahan
- Date: stempel waktu komit
- Pesan: apa yang diubah
Perhatikan keluaran perintah git log. Setiap entri dimulai dengan deretan karakter panjang—ini adalah hash komit, yaitu pengenal uniknya. Di bagian berikutnya terdapat penulis perubahan dan tanggal perubahan dibuat. Di bawahnya ada pesan komit yang ditulis pengembang saat menyimpan perubahan. Perhatikan formatnya: alamat email penulis berada di dalam tanda kurung sudut, lalu diikuti stempel waktu. Data ini membantu memahami konteks perubahan dan, jika perlu, menghubungi penulis untuk klarifikasi. Setelah memahami struktur komit, mari kita pahami apa itu hash dan mengapa hash diperlukan.
#!/bin/bash
cd ~/projects/git-course/
git log -1 --pretty=format:'Komit %H\nPenulis: %an <%ae>%nTanggal: %ad\n\n %s'
Hash komit — kunci Anda menuju riwayat
- Hash adalah sidik jari digital komit
- Bergantung pada isi dan metadata
- Mengubah satu karakter saja akan mengubah hash
- Memungkinkan rujukan tepat ke versi mana pun
Hash komit bukan deretan karakter acak. Hash adalah hasil fungsi kriptografis yang mengubah isi komit menjadi string unik. Jika satu byte saja dalam komit berubah, hash akan berubah total. Inilah yang membantu menjaga integritas riwayat perubahan. Dengan mengetahui hash, Anda dapat membuka versi kode tertentu seperti membuka penanda halaman di buku. Misalnya, perintah git checkout dengan menyertakan hash akan membawa Anda ke keadaan proyek pada saat komit itu dibuat. Ini sangat berguna ketika perlu mengembalikan ke versi sebelumnya atau menganalisis kapan sebuah bug muncul. Sekarang setelah memahami struktur riwayat, mari belajar menyaring riwayat—karena dalam proyek nyata, jumlah komit bisa mencapai ribuan.
Buong leksyon ay para sa subscription
26 pang slide sa buong bersyon.
Mabubuksan ang video, lahat ng slide, tala, pagsusulit, AI tutor, at interview pagkatapos mag-sign in at mag-subscribe.
Mag-sign in o magparehistro Mag-subscribeNilalaman ng leksyon
- Riwayat komit sebagai buku harian proyek
- Membaca catatan komit: hash, penulis, tanggal
- Hash komit — kunci Anda menuju riwayat
- Menemukan komit berdasarkan penulis
- Menyaring berdasarkan tanggal komit
- Mencari berdasarkan teks pesan komit
- Menggabungkan filter
- Masalah saat membaca riwayat commit
- Tampilan Ringkas dengan --oneline
- Visualisasi Percabangan dengan --graph
- Gambaran Lengkap dengan --all
- Apa Itu git diff dan Mengapa Penting
- Membandingkan Perubahan di Direktori Kerja
- Apa yang Sudah Siap untuk Commit: git diff --staged
- Membandingkan Dua Commit Apa Pun
- Cara mempelajari detail komit tertentu
- Praktik: melihat perubahan dalam komit
- Melihat file tertentu pada komit tertentu
- Mencari perubahan terbaru dalam file
- Menganalisis kode orang lain melalui riwayat
- Mencari saat fungsi ditambahkan atau dihapus
- Mengapa pesan komit itu penting
- Struktur pesan komit yang ideal
- Conventional Commits dalam praktik
- Merapikan komit yang kurang baik
- Mengapa komit 'fix' bisa menjadi antipola
- Atomisitas perubahan: satu komit untuk satu tugas
- git add -p: alat penting untuk komit yang bersih
- Ringkasan dan tugas
Mga artikulo tungkol sa araling ito
- Mga command ng Git: cheat sheet na may mga halimbawa para sa araw-araw
- git log, diff, show, at blame: paano basahin ang history ng project sa Git
- git bisect: paano hanapin ang commit na sumira sa code
- Git at GitHub: ano ang pagkakaiba at paano sila magkaugnay
- Paano mag-install ng Git sa Windows, macOS, at Linux
Lahat ng leksyon ng kurso
- Pengantar: Git dari Nol hingga Pengembang yang Percaya Diri
- Apa Sebenarnya Git Itu — dan Kenapa Tanpanya Sulit Dapat Kerja
- Instalasi dan Konfigurasi: Menyiapkan Git untuk Pertama Kali
- Repositori Pertama: init, add, commit dan Keajaiban Indeks
- Membaca Riwayat: log, diff, show dan Navigasi ke Masa Lalu
- Cabang: Realitas Paralel untuk Kode Anda
- Membatalkan Kesalahan: restore, reset, revert — dengan Benar dan Berbahaya
- GitHub dan Repositori Jarak Jauh: Kode Anda di Awan
- Kerja Tim: Fork, Feature Branch, dan Pull Request
- Konflik Penggabungan: Jangan Panik — Pahami dan Selesaikan
- Proses Git di Tim Nyata: Alur Kerja Mana yang Dipilih
- Alat Lanjutan: rebase, stash, cherry-pick, dan tag
- Proyek Akhir: Simulasi Pengembangan Tim Nyata