Я був єдиним комітетом проекту TXR і досить рано зберігав детальний ChangeLog. Це близько 11000 рядків і зростає:
http://www.kylheku.com/cgit/txr/tree/ChangeLog
(Повідомлення про фіксацію в РЕПО - це лише копія того, що відбувається в ChangeLog.)
[2016 редагувати: станом на середину 2015 року я більше не підтримую файл ChangeLog; однак повідомлення комісії написані у форматі, який одночасно відповідає умовам Git та ChangeLog. Такий самий рівень деталізації є, таким чином, що не викликає проблем з об'єднанням. Файл ChangeLog можна механічно реконструювати з цих коментарів.]
Так, не раз я повертався до старого повідомлення про фіксацію, пов’язаного зі зміною, яка щось порушила (виявлено за допомогою git bisect
). Повідомлення допомогло мені зрозуміти, що я роблю.
У ChangeLog ви можете вказати, коли вперше була введена функція, тип, макро- чи глобальна змінна та коли її згодом торкнулися зміни.
Але головна причина написання таких детальних повідомлень про фіксацію, як ці, коли ви працюєте самостійно, така: ви виявляєте помилки, роблячи це .
Написання детального повідомлення про фіксацію має подібні переваги як перегляд коду вашого зобов’язання кимось іншим. Значення в огляді комісій не стільки в тому, що хтось перевіряє ваш код, а в тому, що ви повинні пояснити свої зміни іншому розробнику.
Коли ви намагаєтесь пояснити речі, іноді виявляєте, що вони не мають сенсу.
Ще одна причина: ви можете зловити себе, роблячи марну зміну . Написавши детальний коментар про вчинення, ви сприймаєте високий рівень погляду на те, що ви робите, і тоді іноді ви стикаєтесь з тим, що це не дуже добре.
Я іноді вносив зміни, коли в середині написання запису ChangeLog я зрозумів, що це буде git reset --hard
швидше (відкинути ці непотрібні зміни) git commit -a
.