Sono stato l'unico responsabile del progetto TXR, e ho mantenuto un ChangeLog dettagliato fin dall'inizio del progetto. Questo è vicino a 11.000 linee lunghe e in crescita:
link
(I messaggi di commit nel repository sono solo una copia di ciò che accade nel ChangeLog.)
[modifica 2016: a partire dalla metà del 2015, non conservo più un file ChangeLog; tuttavia, i messaggi di commit sono scritti in un formato conforme alle convenzioni Git e ChangeLog allo stesso tempo. Lo stesso livello di dettaglio è lì, in un modo che non causa problemi di fusione. Un file ChangeLog potrebbe essere ricostruito meccanicamente da questi commenti.]
Sì, più di una volta sono tornato a un vecchio messaggio di commit associato a una modifica che ha rotto qualcosa (scoperto con l'aiuto di git bisect
). Il messaggio mi ha aiutato a dare un senso a quello che stavo facendo.
Nel ChangeLog puoi dire quando una funzione, tipo, macro o variabile globale è stata introdotta per la prima volta e quando è stata successivamente toccata dalle modifiche.
Ma il motivo principale per cui scrivi dettaglia tieni messaggi come questi quando lavori da solo è questo: trovi bug quando fai questo .
Scrivere un messaggio di commit dettagliato ha vantaggi simili a una revisione del codice del commit da parte di qualcun altro. Il valore in una revisione di commit non è tanto che qualcuno sta controllando il tuo codice, ma devi spiegare le tue modifiche a un altro sviluppatore.
Quando cerchi di spiegare le cose, a volte trovi che non hanno senso.
Un altro motivo: puoi sorprenderti a fare un cambiamento inutile . Scrivendo un commento di commit dettagliato, acquisisci una visione di alto livello di ciò che stai facendo, quindi a volte ti trovi di fronte al fatto che non è un buon cambiamento.
A volte ho apportato delle modifiche, quando nel mezzo della scrittura della voce ChangeLog ho capito che questo sarebbe stato un git reset --hard
(buttare via queste modifiche inutili) piuttosto che git commit -a
.