Git

Gitのコミットメッセージには何を書くべきか?

Gitのコミットメッセージには何を書くべきか?
Gitのコミットメッセージって何を書けば良いの?分からない。。

 

今回はこういった疑問にお答えします。

この記事を最後まで読めば、適切なコミットメッセージの書き方が理解できるでしょう。

 

この記事が、エンジニアとしての仕事のクオリティを上げる上で、少しでも参考になれば幸いです。

【結論】Gitのコミットメッセージにはコードの”Why”を書こう

結論から言うと、コミットメッセージには以下の内容を書くべきです。

コードの”Why(なぜ)”

 

なぜなら、業務の中でコミットメッセージを参照するのは、以下のような場面だからです。

作業の中で「なぜこのような実装になっているのか」を調べたいとき

 

逆に、これ以外でわざわざ過去のコミットメッセージを参照することはありません。

 

私の場合は、意図の分からない実装が出てきたときに、VSCodeのGitLensで過去のコミットメッセージを参照することが多いです!

 

「コミットメッセージにはコードのWhyを書くべき」という話については、以下の@t_wadaさんのツイートも参考になります。

 

次に、よりイメージを深めるために、コミットメッセージの良い例と悪い例を見てみましょう。

 

【Git】コミットメッセージの良い例と悪い例

例えば、以下のような実装があるとします。

// 何かしらの処理

sleep(10);

 

これを見ただけでは、「なぜsleepがあるのか」、そして「なぜ10秒なのか」が分かりません。

そこで、コミットメッセージを見に行きます。

 

そのとき、悪いコミットメッセージには以下のように書かれています。

“sleepを追加”

 

一方、良いコミットメッセージには以下のように書かれています。

“〇〇のため、sleepを10秒に設定”

 

悪い例だと、やったこと(見ればわかること)しか書かれていないため、コードの意図は全く読み取れません。

 

一方、良い例ではしっかりと「理由」が書かれているため、コードの意図を明確に読み取ることができます。

 

良いコミットメッセージが与える効果

「良い」コミットメッセージを書くことによって得られるメリットは以下の二つです。

  • コードの変更容易性が向上する
  • 自身の評価を高めることができる

 

コードの変更容易性が向上する

一つ目は、コードの変更容易性が向上する点です。

 

意図が分からないコードほど変更が怖いものはありません。

なぜなら、その一行を変更することで最悪システムが壊れる可能性もあるからです。

 

一方、コミットメッセージにコードのWhyが書かれている場合は、そのコードの「影響範囲」が掴みやすくなるため、圧倒的に変更がしやすくなります。

 

ソフトウェアにとって「変更しやすさ」ほど重要なものはありません。

柔らかさ(変更しやすさ)こそがソフトウェアをソフトウェアたらしめているものだからです。

 

その意味でも、適切なコミットメッセージを書くことは非常に重要です。

 

自身の評価を高めることができる

コミットメッセージには、自分の名前が刻まれます。

 

そのため、適切なコミットメッセージを書けば、将来的に自分の評価を高めることができるし、逆に適当なメッセージを書けば、自分の評価を下げてしまいます。

 

自分を助ける意味でも、周囲のエンジニアを助ける意味でも、コミットメッセージは適切に記述するようにしましょう。

 

「適当なコミットメッセージを書いている人」「適切なコミットメッセージを書いている人」どちらに好印象を持つかは言うまでもありません。

 

【Git】コミットメッセージテンプレート

コミットメッセージは、基本的には以下のように記述すると良いでしょう。

What(何をしたか)

 

Why(なぜその実装をしたか)

 

一行目にコードのWhatを書き、二行目、もしくは一行空けて三行目にコードのWhyを書きます。

 

例えば、以下のような形です。

sleepを10秒に設定

 

〇〇のため

 

このような形にすることで、GitHub上では以下のように表示されます。

GitのコミットメッセージにはコードのWhyを書こう

 

ただ、もちろん書き方自体は自由です。

以下のように一行で書いても構いません。

〇〇のためxxした

 

本質的に重要なのは、コードの”Why”をコミットメッセージに含めることです。

それさえ守れていれば、どんな書き方でも問題はありません。

 

Gitのコミットメッセージには何を書くべきか? まとめ

今回は、コミットメッセージにはコードのWhyを書くべきという話をしてみました。

 

コミットメッセージは、慣れてくるとついつい手を抜いてしまいがちです。

 

しかし、安易に適当なコミットメッセージを書いてしまうと、のちの開発者や自分を苦しめることに繋がってしまいます。

 

ソフトウェアの質を上げるためにも、自分を含めた周りの開発者を助けるためにも、目の前の一つ一つのコミットメッセージにこだわりながら仕事(作業)をしていきましょう。

 

一コミット入魂です!

 

最後まで読んでいただきありがとうございました。

この記事が、エンジニアとしてGitを使って開発を進める上で少しでも参考になっていれば幸いです。

 

Git:こちらの記事もおすすめです!

【Git】離れた複数のcommit(コミット)をまとめる方法
【Git】離れた複数のcommit(コミット)をまとめる方法Gitで離れた複数のcommit(コミット)をまとめる方法を整理しました。...
Gitで不要なローカル・リモート追跡ブランチを削除するコマンドまとめ
Gitで不要なローカル・リモート追跡ブランチを削除するコマンドまとめGitで不要なブランチを削除する方法・コマンドについて、簡単にまとめました。少しでも参考になれば幸いです。...
Gitでalias(エイリアス)を設定する方法をサクッと解説
Gitでalias(エイリアス)を設定する方法をサクッと解説Gitコマンドのalias(エイリアス)を設定する方法を分かりやすく解説します。...

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA