Dev Study
← Angular コース

87. コミットメッセージ — 「なぜ」が伝わる書き方

コミットメッセージは1行目に変更の要約を書きます。コツは「何をしたか」より「なぜしたか」を意識することです。何を変えたかは差分を見れば分かりますが、理由は書き残さない限り消えてしまいます。そして1コミットには1つの意味のある変更だけを入れます。無関係な修正は分けてコミットしましょう。

実務では feat:(機能追加)や fix:(バグ修正)のような接頭辞を付ける Conventional Commits という書き方が広く使われています。履歴を眺めるだけで変更の種類が分かるため、不具合の原因調査やリリースノート作成が格段に楽になります。チームの規約があればそれに従うのが第一です。

初学者の落とし穴は「修正」「更新」だけの、後から読んで何も分からないメッセージです。未来の自分やレビュアーが読者だと考えて書きましょう。また複数の変更をまとめて1コミットにすると、片方だけ取り消したいときに困ります。git add でファイルを選び、意味の単位で分けて記録します。

サンプルコード(フレームワーク環境が必要なため表示のみ)

# ── 悪い例と良い例 ──

# 悪い例: 後から読んでも何も分からない
git commit -m "修正"
git commit -m "update"

# 良い例: 種類の接頭辞 + 何を/なぜ が分かる要約
git commit -m "feat: お気に入りボタンをカードに追加"
git commit -m "fix: 未ログイン時にお気に入りが保存されない問題を修正"

# Conventional Commits の主な接頭辞:
#   feat:     新機能の追加
#   fix:      バグ修正
#   refactor: 動作を変えない整理
#   docs:     ドキュメントのみの変更
#   test:     テストの追加・修正

# 原則: 1コミット = 1つの意味のある変更
サンプルコードで身につける(5本) →

学んだ概念を、素朴な例から実務寄りの例まで5つの具体例で確認します。

公式ドキュメントで詳しく ↗