私はTXRプロジェクトの唯一のコミッターであり、プロジェクトのかなり早い段階から詳細なChangeLogを保管しています。これは11,000行近くで、成長しています:http :
//www.kylheku.com/cgit/txr/tree/ChangeLog
(レポジトリのコミットメッセージは、ChangeLogに記録される内容の単なるコピーです。)
[2016年の編集:2015年半ばの時点で、ChangeLogファイルを管理しなくなりました。ただし、コミットメッセージは、GitとChangeLogの規則に同時に準拠する形式で書き込まれます。マージの問題を引き起こさないように、同じレベルの詳細がそこにあります。ChangeLogファイルは、これらのコメントから機械的に再構築できます。]
はい、何かを壊した変更に関連する古いコミットメッセージに何度も戻りました(の助けを借りて発見されましたgit bisect
)。このメッセージは、私がやっていることを理解するのに役立ちました。
ChangeLogでは、関数、型、マクロ、またはグローバル変数が最初に導入されたときと、その後に変更が加えられたときを確認できます。
しかし、自分で作業しているときにこのような詳細なコミットメッセージを書く主な理由は次のとおりです。これを行うとバグが見つかります。
詳細なコミットメッセージを書くことは、他の誰かによるコミットのコードレビューと同様の利点があります。コミットレビューの価値は、誰かがあなたのコードをチェックするほどではありませんが、変更を別の開発者に説明する必要があります。
物事を説明しようとすると、時には意味が分からないことがあります。
別の理由:役に立たない変更を加えることができます。詳細なコミットコメントを書くことで、自分がやっていることの高レベルのビューをキャプチャし、その後、それが良い変更ではないという事実に直面することがあります。
変更ログエントリを書いている最中に、これがgit reset --hard
(これらの役に立たない変更を破棄する)であることに気付いたとき、時々変更を加えましたgit commit -a
。