コミットルール
コミットメッセージと分割のルールを定義するスキル。
コミットメッセージ形式
code
<type>: <subject> [本文(任意)] [フッター(Issue連携など)]
タイプ一覧
基本
| タイプ | フォーマット |
|---|---|
| 最初のコミット | 🎉 [Initial Commit]: |
| 新機能 | ✨ [New Feature]: |
| バグ修正 | 🐛 [Bug Fix]: |
| ホットフィックス | 🚑 [Hotfix]: |
| 簡単な修正 | 🩹 [Quick Fix]: |
| リファクタリング | ♻️ [Refactoring]: |
| コード構造改善 | 🎨 [Structure]: |
| 削除 | 🔥 [Remove]: |
| ファイル移動/リネーム | 🚚 [Move]: |
| WIP | 🚧 [WIP]: |
| 破壊的変更 | 💥 [Breaking]: |
UI / スタイル
| タイプ | フォーマット |
|---|---|
| UI/UX | 💄 [UI/UX]: |
| アクセシビリティ | ♿ [Accessibility]: |
| アニメーション | 💫 [Animation]: |
| レスポンシブ | 📱 [Responsive]: |
| アセット追加 | 🍱 [Assets]: |
パフォーマンス / 品質
| タイプ | フォーマット |
|---|---|
| パフォーマンス | 🚀 [Performance]: |
| テスト | 🧪 [Tests]: |
| テスト通過 | ✅ [Tests Pass]: |
| セキュリティ | 🔒 [Security]: |
| 型定義 | 🏷️ [Types]: |
| バリデーション | 🦺 [Validation]: |
ドキュメント / 設定
| タイプ | フォーマット |
|---|---|
| ドキュメント | 📝 [Doc]: |
| 設定ファイル | 🔧 [Config]: |
| 環境変数 | 🔐 [Env]: |
依存関係
| タイプ | フォーマット |
|---|---|
| 依存関係追加 | ➕ [Add Dep]: |
| 依存関係削除 | ➖ [Remove Dep]: |
| 依存関係更新 | ⬆️ [Upgrade Dep]: |
| 依存関係ダウングレード | ⬇️ [Downgrade Dep]: |
インフラ / CI/CD
| タイプ | フォーマット |
|---|---|
| CI/CD | 👷 [CI]: |
| Docker | 🐳 [Docker]: |
| インフラ | 🧱 [Infra]: |
| リリース | 📦 [Release]: |
| デプロイ | 🚢 [Deploy]: |
Git操作
| タイプ | フォーマット |
|---|---|
| マージ | 🔀 [Merge]: |
| リバート | ⏪ [Revert]: |
データ / DB
| タイプ | フォーマット |
|---|---|
| データベース | 🗃️ [DB]: |
| シードデータ | 🌱 [Seed]: |
コード品質
| タイプ | フォーマット |
|---|---|
| タイポ修正 | ✏️ [Typo]: |
| コメント追加 | 💡 [Comment]: |
| ログ追加 | 🔊 [Log]: |
| ログ削除 | 🔇 [Remove Log]: |
| デッドコード削除 | ⚰️ [Dead Code]: |
| Lint修正 | 🚨 [Lint]: |
その他
| タイプ | フォーマット |
|---|---|
| 国際化 | 🌐 [i18n]: |
| 雑務 | 🔨 [Chore]: |
| 実験 | ⚗️ [Experiment]: |
| 認可/権限 | 🛂 [Auth]: |
| DX改善 | 🧑💻 [DX]: |
| モック | 🤡 [Mock]: |
Issue連携
関連Issueがある場合は必ず記載:
- •解決:
Closes #123またはFixes #123 - •参照:
Refs #123またはRelates to #123
code
✨ [New Feature]: ユーザ検索にロール絞り込みフィルタを追加 Closes #123
分割ルール
基本方針
- •1コミット = 1つの最小単位の変更
- •小さすぎても構わない。大きいより小さいコミットを優先
必須の分割ケース
以下は必ず分割:
- •複数機能の同時実装
- •バグ修正と新機能の同時実装
- •リファクタリングと機能追加の同時実装
- •異なる目的の複数ファイル変更
- •テストコードと実装コードの同時変更
- •ドキュメント更新と機能実装の同時実施
粒度の目安
- •最小単位: 1関数、1コンポーネント、1設定変更
- •変更行数: 50行以下を目安
- •理解しやすさ: メッセージだけで変更内容が理解できる
- •独立性: コミット単体で意味をなす
- •ビルド状態: 各コミットでビルドが通る
禁止事項
禁止コマンド
bash
# これらは使用禁止 git add . git add --all git add -A
禁止メッセージ
以下のような曖昧なメッセージは禁止:
- •修正 / ちょっと修正 / 細かい修正 / 微調整
- •対応 / 対応しました / レビュー指摘対応
- •リファクタ(対象不明瞭)
- •調整 / 更新 / 変更 / 追加 だけ
- •fix / update / change / modify だけ
良い書き方
- •何を(対象)
- •どうした(操作)
- •なぜ(目的/意図)
詳細は references/examples.md を参照。