Я был единственным коммиттером в проекте TXR и сохранил подробный ChangeLog с самого начала проекта. Это близко к 11 000 строк и растет:
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
.