Conventional Commitsは、コミットメッセージの書き方を決めて、開発者の意思疎通や自動化ツールの導入を容易にするための仕様です。
Conventional Commitsの仕様は、コミットメッセージのための軽量の規約です。 明示的なコミット履歴を作成するための簡単なルールを提供します、この規則に従うことで自動化ツールの導入を簡単にします。 この規約はSemVerと組み合わせることで、コミットメッセージへ機能、修正、破壊的変更を入れることで、さらに詳細な説明を可能にします。
https://www.conventionalcommits.org/ja/v1.0.0/#概要
コミットメッセージは、次のようなフォーマットで記述します。
[optional scope]:
[optional body]
[optional footer(s)]
例えば、バグ修正を行った場合、次のようなコミットメッセージにします。
fix: 初期値の値を変更(1 -> 2)
- fix
コードベースのバグにパッチを当てる場合です。これは セマンティックバージョン管理におけるPATCHに相当します。 - feat
コードベースに新しい機能を追加した場合です。これはセマンティックバージョン管理における MINORに相当します。 - BREAKING CHANGE(or !)
または
Conventional Commitsの仕様は、AngularのCommit Message Guidelinesに触発されているようなので一度確認すると良いでしょう。
まとめ
この仕様に準拠することで、次のようなメリットがあります。
- 変更履歴(CHANGELOG)を自動的に生成できる
- Semantic Version単位で自動的に履歴をまとめれる(コミットされた
に基づく) - チームメイトや一般のユーザー、およびその他の利害関係者へ変更の内容を伝えることができる
- ビルドおよび公開プロセスをトリガーにできる
- より構造化されたコミット履歴を調査できるようにすることで、人々があなたのプロジェクトに貢献しやすくなる
確かにこの仕様によってコミットメッセージから新しいバージョンを決定したり、変更履歴を自動作成できそうです。


コメント