「人間と機会が読みやすく、意味のあるコミットメッセージにするための仕様」である
概要
- コミットメッセージのための軽量の規約
- 明示的なコミット履歴を作成するための簡単なルール
- この規則に従うことで、自動化ツールの導入を簡単にする
- コミットメッセージで機能追加・修正・破壊的変更などを説明することで、Semantic Versioningと協調動作することができる
コミットメッセージの形式
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]
コミットが持つ主な要素
-
fix
:コードベースのバグにパッチを当てる -
feat
:コードベースに新しい機能を追加する -
BREAKING CHANGE
or!
:APIの破壊的変更を導入する -
それ以外の型
:Angular の規約が基になっているものとして以下がある
- build
- chore
- ci
- docs
- style
- refactor
- perf
- test
使用例
タイトルおよび破壊的変更のフッターを持つコミットメッセージ
feat: allow provided config object to extend other configs
BREAKING CHANGE: `extends` key in config file is now used for extending other config files
破壊的変更を目立たせるために ! を持つコミットメッセージ
feat!: send an email to the customer when a product is shipped
スコープおよび破壊的変更を目立たせるための ! を持つコミットメッセージ
feat(api)!: send an email to the customer when a product is shipped
! と BREAKING CHANGE フッターの両方を持つコミットメッセージ
chore!: drop support for Node 6
BREAKING CHANGE: use JavaScript features not available in Node 6.
本文を持たないコミットメッセージ
docs: correct spelling of CHANGELOG
スコープを持つコミットメッセージ
feat(lang): add polish language
複数段落からなる本文と複数のフッターを持ったコミットメッセージ
fix: prevent racing of requests
Introduce a request id and a reference to latest request. Dismiss
incoming responses other than from latest request.
Remove timeouts which were used to mitigate the racing issue but are
obsolete now.
Reviewed-by: Z
Refs: #123
参考