コミットタイプ別グループ化
チェンジログジェネレーターがConventional Commitsをタイプ別に整理されたセクションに一貫した順序でグループ化する方法を理解します。
Grouping
詳細な説明
コミットグループ化の仕組み
チェンジログジェネレーターは各コミット行を解析し、タイププレフィックス(オプションのスコープとコロンの前のすべて)を抽出します。同じタイプのコミットは1つのグループにまとめられ、グループは事前定義された順序でセクションとしてレンダリングされます。
事前定義されたタイプ順序
入力でのコミットの順序に関係なく、セクションはこの順序で表示されます:
- feat — Features(新機能)
- fix — Bug Fixes(修正)
- perf — Performance Improvements
- refactor — Code Refactoring
- docs — Documentation
- style — Styles(フォーマット、ロジック変更なし)
- test — Tests
- build — Build System
- ci — CI/CD
- chore — Chores(メンテナンス)
- revert — Reverts
なぜこの順序なのか?
機能とバグ修正はエンドユーザーに最も関連する変更であるため、最初に表示されます。パフォーマンス改善とリファクタリングはコードベースの品質に影響するため次に来ます。ドキュメント、スタイル、テスト、ビルド、CIの変更はより内部的なものです。差し戻しは以前の変更を元に戻すため最後に来ます。
不明なタイプの処理
事前定義リストにないタイプを使用するコミット(例:security: patch XSS vulnerability)も解析されて含まれます。不明なタイプは標準タイプの後に表示され、生のタイプ名がセクション見出しとして使用されます。
空のグループ
特定のタイプに一致するコミットがない場合、そのセクションは出力から完全に省略されます。これによりチェンジログがクリーンで実際に変更された内容に焦点を当てたものになります。
ユースケース
ジェネレーターの内部ロジックを理解し、出力をカスタマイズするのに役立ちます。特定の順序を望むチームは入力を並べ替えることができますが、ジェネレーターは入力に関係なく一貫した構造を強制します。