Редактировать: Учитывая, что это мой самый отрицательный ответ, я думаю, что стоит подчеркнуть то, что скрыто в последнем абзаце: я являюсь единственным владельцем. Я на 100% владею этими проектами и не работаю с другими разработчиками. В магазине с более чем одним разработчиком все, что я говорю в этом ответе, может быть совершенно противоположным.
Я подписываюсь на DRY здесь, как и во всех вещах.
Я почти никогда не добавляю комментарии к своим коммитам. Комментарий почти всегда повторяется. Ответ на вопрос «что изменилось в этом коммите»? почти всегда в разн.
Когда я смотрю на файл и спрашиваю «что, черт возьми, здесь произошло?», Первое, что я делаю, это смотрю на diff с предыдущей версией. В 90% случаев ответ сразу становится очевидным, либо потому, что код самоочевиден, либо потому, что было что-то неочевидное, что я прокомментировал в коде. Если это не так, я сопоставляю даты версий файла с системой отслеживания ошибок, и ответ там.
Это всегда работает. Иногда требуется небольшое исследование, чтобы что-то выяснить, потому что я не прокомментировал свой код адекватно. Но я так и не смог найти ответ достаточно быстро.
Единственный раз, когда я добавляю комментарий в журнал фиксации, это когда я знаю, что diff мне не поможет. Например, когда я сортирую членов класса: единственное, что diff скажет мне в этом случае, это то, что произошло нечто очень большое. Когда я это делаю, я фиксирую файл, как только я его исправлю. Нет подходящего места, чтобы комментировать изменение этой области в файле, поэтому я добавляю комментарий о том, что единственное изменение в этой версии - это переупорядочивание членов.
(«Почему бы вам не прокомментировать такое изменение в истории изменений в верхней части файла?» - спросите вы. Я не храню историю изменений в верхней части своих файлов. Это было страшно изменения, которые нужно изменить, и я ни разу не пожалел об этом. История изменений - Subversion.)
Если бы у меня не было 100% права собственности на проект, это могло бы быть иначе. Может быть слишком сложно соотносить коммиты с исправлениями ошибок. Может быть, слишком сложно научить других разработчиков программировать в стиле, позволяющем эффективно полагаться на контроль версий. Я должен был увидеть.