2.3 KiB
2.3 KiB
/commit-staged
概要
stageされたファイルのみをコミットするためのコマンドです。適切なコミットメッセージを自動生成し、安全にコミットを実行します。
動作
git statusでstageされたファイルを確認- stageされたファイルがない場合は警告を表示して終了
git diff --cachedでstageされた変更内容を確認- 最近のコミットメッセージを参照してスタイルを把握
- 変更内容に基づいて適切なコミットメッセージを生成
- コミットを実行
- コミット結果を確認
実装手順
ステップ1: 事前チェック
# stageされたファイルを確認
git status --porcelain | grep "^[MADRCU]"
- stageされたファイルがない場合は終了
- unstageされた変更があっても無視(stageされたもののみを対象)
ステップ2: 変更内容の分析
# stageされた変更の詳細を取得
git diff --cached
# 最近のコミットメッセージのスタイルを確認
git log --oneline -10
ステップ3: コミットメッセージの生成
変更内容を分析して以下の形式でメッセージを生成:
- feat: 新機能の追加
- fix: バグ修正
- refactor: リファクタリング
- docs: ドキュメントの更新
- style: コードスタイルの修正
- test: テストの追加・修正
- chore: その他の変更
ステップ4: コミット実行
# HEREDOCを使用してコミットメッセージを適用
git commit -m "$(cat <<'EOF'
[生成されたコミットメッセージ]
EOF
)"
ステップ5: 結果確認
# コミット結果を確認
git status
git log --oneline -1
注意事項
- stageされていないファイルは含まれません
- 機密情報が含まれていないかチェックします
- プリコミットフックが失敗した場合は再試行を提案します
- pushは自動実行しません(ユーザーの明示的な指示を待つ)
- 空のコミットは作成しません
使用例
/commit-staged
このコマンドにより、stageされたファイルのみが適切なコミットメッセージと共にコミットされます。