開発を行う際に使用するバージョン管理。
有名どころはSVNやGitかと思いますが、コミットをする際にルールなどは決めていますか?
僕の経験になりますが、案件・プロジェクトによってルールは異なっていました。というよりはその時の気分で決めていたという感じです。
コミット時にコメントなどを記録する際、「そもそも何を書くべきなのか」「なぜ必要なのか」を理解することで標準的なルールを決めることができます。
ということで今回は、バージョン管理のコミットメッセージについて掘り下げていこうと思います!
コミットメッセージとは
コミットメッセージとは、コミットする際に記録するメッセージのことです。そのままですね。。
例えば、以下はGitでコミットをした履歴をSourcetreeというツールで見た結果です。
コミットをすると、自動的に日時と作者は記録されます。コミットメッセージは説明の部分になりますが、ここはコミット者がコメントとして記録したものです。
コミットメッセージに記載するべきこととは?
さて、このコミットメッセージですが、一体何を記載すべきなのでしょうか?
結論から言うと、「なぜ変更したのか」を記載するだけでOKです。
別の言い方をすると、「なぜ変更したのか」以外は記載する必要がありません。
コミットメッセージに「なぜ変更したのか」だけを記載する理由
先ほどもお話しした通り、コミットをする際に日時と作者は自動記録されます。
つまり、以下の情報はコメントとして残す必要がないわけです。
- When・・・いつ変更したか
- Who・・・誰が変更したか
- What・・・何を変更したか
言い換えるなら、上記の情報以外は自動記録されないため、コミット者がコメントとして残すべきということになります。
これで、何をコミットメッセージとして残すべきかが明確になりましたね。
コミットメッセージに良くある間違い
僕の経験のお話ですが、コミットメッセージに日付を書くというルールのあるプロジェクトがありました。
この時に良く発生していたのが、「コミットメッセージに記載した日付」と「実際のログの日付」が一致していないというものでした。
どちらが正しいかと言えば、当然「実際のログの日付」です。人間様が記録したコミットメッセージなんぞあてになりませんからね。
こういった状況を避けるためにも、コミットメッセージに必要以上に情報を書くのは間違いということを理解しておきましょう。
まとめ
たかがコミットメッセージですが、されどコミットメッセージです。
以下が今回のまとめになりますので、しっかりおさらいしておきましょう!
- コミットメッセージとは、コミットをする際に記録するメッセージ
- 「いつ」「だれが」「何を」はコミット時に自動記録される
- 「なぜ」という情報は自動記録されないので、コミット者が記録すべき情報である
- コミットメッセージに必要以上に情報を盛り込むのは間違い
おすすめ本
僕がGitの勉強をする際に購入した本になります。
この本があれば、Gitの基礎は理解できるのでおすすめですよ!