Saya menjadi satu-satunya pengalih pada proyek TXR, dan telah menyimpan ChangeLog terperinci sejak awal proyek. Panjangnya hampir 11.000 baris dan terus bertambah:
http://www.kylheku.com/cgit/txr/tree/ChangeLog
(Pesan komit dalam repo hanyalah salinan dari apa yang ada di ChangeLog.)
[2016 edit: pada pertengahan 2015, saya tidak lagi mempertahankan file ChangeLog; namun, pesan komit ditulis dalam format yang sesuai dengan konvensi Git dan ChangeLog secara bersamaan. Tingkat detail yang sama ada di sana, dengan cara yang tidak menyebabkan masalah gabungan. File ChangeLog dapat direkonstruksi secara mekanis dari komentar-komentar ini.]
Ya, lebih dari sekali saya kembali ke pesan komit lama yang terkait dengan perubahan yang merusak sesuatu (terbongkar dengan bantuan git bisect
). Pesan itu membantu saya memahami apa yang saya lakukan.
Di ChangeLog Anda bisa mengetahui kapan suatu fungsi, tipe, makro atau variabel global pertama kali diperkenalkan dan kapan kemudian disentuh oleh perubahan.
Tetapi alasan utama untuk menulis pesan komit terperinci seperti ini ketika bekerja sendiri adalah ini: Anda menemukan bug saat melakukan ini .
Menulis pesan komit mendetail memiliki manfaat yang serupa dengan ulasan kode komit Anda oleh orang lain. Nilai dalam ulasan komit bukanlah seberapa banyak seseorang memeriksa kode Anda, tetapi Anda harus menjelaskan perubahan Anda kepada pengembang lain.
Ketika Anda mencoba menjelaskan sesuatu, Anda kadang-kadang menemukan bahwa itu tidak masuk akal.
Alasan lain: Anda dapat menemukan diri Anda melakukan perubahan yang tidak berguna . Dengan menulis komentar komit terperinci, Anda menangkap pandangan tingkat tinggi tentang apa yang Anda lakukan, dan terkadang Anda dihadapkan pada kenyataan bahwa itu bukan perubahan yang baik.
Saya terkadang membuat perubahan, ketika di tengah penulisan entri ChangeLog saya menyadari bahwa ini akan menjadi git reset --hard
(membuang perubahan tidak berguna ini) daripada git commit -a
.