Files
gh-doarakko-dotfiles-claude/commands/commit-staged.md
2025-11-29 18:23:35 +08:00

2.3 KiB
Raw Blame History

/commit-staged

概要

stageされたファイルのみをコミットするためのコマンドです。適切なコミットメッセージを自動生成し、安全にコミットを実行します。

動作

  1. git statusでstageされたファイルを確認
  2. stageされたファイルがない場合は警告を表示して終了
  3. git diff --cachedでstageされた変更内容を確認
  4. 最近のコミットメッセージを参照してスタイルを把握
  5. 変更内容に基づいて適切なコミットメッセージを生成
  6. コミットを実行
  7. コミット結果を確認

実装手順

ステップ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されたファイルのみが適切なコミットメッセージと共にコミットされます。