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