【コンベンショナルコミッツ】
Conventional Commits とは?
最終更新:
💡 変更の種類と概要を、コミットに書く
Gitのコミットメッセージを、変更の種類・概要などが読み取れる形式で書く規約。対応ツールと組み合わせ、変更履歴の生成やバージョンの決定に使う。
📌 このページのポイント
- 基本は「type(省略可のscope): 概要」で、本文・フッターも追加できる
- featは機能追加、fixは不具合修正。docsなど他の種類も使える
- 破壊的変更はtype/scope直後の「!」かBREAKING CHANGEフッターで示す
- 履歴生成やバージョン決定には、対応ツールと設定を組み合わせる
コミットメッセージって「修正した」とか「追加した」って書けばよくないの?
どんな形式なの?
「feat: ログイン機能を追加」「fix(auth): 入力チェックを修正」のように書くよ。featやfixが種類、括弧のauthは変更箇所を示すscopeで、省略可能。コロンの後に空白と概要を置く。本文やフッターを追加することもできるんだ
破壊的変更はどう書くの?
例えば「feat(api)!: 古い応答形式を廃止」のように、コロンの直前へ!を付ける。あるいはフッターに「BREAKING CHANGE: 変更内容」と書くよ。どの種類のコミットにも破壊的変更を示せるので、featだけを見ると見落とすんだ
CHANGELOGやバージョンも自動で決められるの?
チームで使うときはどう確認するの?
使う種類や変更箇所の表記をチームで決め、commitlintのようなツールに設定して確認できるよ。commitlintのローカルの案内は、commit-msgフックでメッセージを検査する方法だね。形式を通しても内容の正しさまでは保証されないので、変更の説明も確認しよう
まとめ:ざっくりこれだけ覚えればOK!
「Conventional Commits」って出てきたら「変更の種類と概要を決まった形式で書く、コミットメッセージの規約」と思えばだいたいOK!
📖 おまけ:英語の意味
「Conventional Commits」 = 規約に沿ったコミット
💬 conventionalは「慣例・規約に沿った」という意味。コミットメッセージを人とツールが読み取りやすくするための仕様だよ