TXR projesinin tek üreticisi oldum ve projenin başından beri oldukça detaylı bir ChangeLog tuttum. Bu, 11.000 satıra yakın ve büyümeye yakın:
http://www.kylheku.com/cgit/txr/tree/ChangeLog
(Depodaki taahhüt mesajları, ChangeLog’da olanın bir kopyasıdır.)
[2016 düzenleme: 2015 ortasında, artık bir ChangeLog dosyası tutmuyorum; ancak, taahhüt mesajları aynı anda Git ve ChangeLog kurallarına uyan bir formatta yazılır. Aynı seviyede ayrıntı, birleştirme sorunlarına yol açmayacak şekilde. Bir ChangeLog dosyası bu yorumlardan mekanik olarak yeniden oluşturulabilir.]
Evet, bir kereden fazla, bir şeyi bozan bir değişim ile ilgili eski bir taahhüt mesajına geri döndüm (yardımı ile açığa çıktı git bisect
). Mesaj ne yaptığımı anlamama yardımcı oldu.
ChangeLog'da bir fonksiyonun, türün, makronun veya global değişkenin ilk ne zaman tanıtıldığını ve ne zaman değişikliklere dokunduğunu söyleyebilirsiniz.
Ama yazılı başlıca nedeni ayrıntılı başınıza çalışan bu olduğunda Benzer iletileri işlemek: Bunu yaparken hata bulmak .
Ayrıntılı bir taahhüt mesajı yazmak, başkası tarafından yaptığınız taahhütnamenin kod incelemesine benzer yararlar sağlar. Taahhüt incelemesindeki değer o kadar çok biri kodunuzu kontrol ediyor, ancak değişikliklerinizi başka bir geliştiriciye açıklamak zorundasınız.
Bazı şeyleri açıklamaya çalıştığınızda, bazen anlamlı olmadıklarını farkedersiniz.
Başka bir sebep: işe yaramaz bir değişiklik yaparak kendinizi yakalayabilirsiniz . Ayrıntılı bir yorum yazarak, yaptığınız şey hakkında üst düzey bir görüş elde edersiniz ve sonra bazen bunun iyi bir değişiklik olmadığı gerçeğiyle karşı karşıya kalırsınız.
Bazen değişiklikler yaptım, ChangeLog yazısını yazarken, bunun bir git reset --hard
(bunun işe yaramaz değişiklikleri atmak yerine) olacağını anladım git commit -a
.