# 現在の変更を関心ごと単位で分析し、レビューしやすい論理的なコミットに整理します # 関心ごと単位でのコミット整理 現在のブランチの変更内容を分析し、レビュアーが理解しやすいように関心ごと単位で論理的なコミットに整理してください。 ## 実行手順 ### 1. 現在の状態確認 - `git status`で変更ファイル一覧を取得 - `git diff`で未ステージの変更を確認 - `git diff --staged`でステージ済みの変更を確認 - デフォルトブランチを確認: `git symbolic-ref refs/remotes/origin/HEAD | sed 's@^refs/remotes/@@'` - 取得できない場合は`git remote show origin | grep 'HEAD branch' | awk '{print $NF}'`で確認 ### 2. 変更内容の分析と分類 以下の観点で変更をグループ化: #### 関心ごとの分類基準 - **機能追加**: 新しい機能の実装 - **バグ修正**: 既存のバグの修正 - **リファクタリング**: コードの改善(動作は変わらない) - **スタイル調整**: フォーマット、インデント、空白の調整 - **型定義**: TypeScriptの型定義の追加・修正 - **設定変更**: 設定ファイル(tsconfig, package.json等)の変更 - **依存関係**: パッケージの追加・更新・削除 - **テスト**: テストコードの追加・修正 - **ドキュメント**: README、コメント等の更新 - **ビルド/CI**: ビルドツール、CI/CD設定の変更 ### 3. コミット計画の提示 ``` 📊 変更内容の分析結果 ━━━━━━━━━━━━━━━━━━━━━━━━━━━ 合計: X ファイル変更 🎯 推奨コミット構成: [1] feat: [機能の説明] 影響ファイル: - src/components/NewFeature.tsx - src/hooks/useNewFeature.ts [2] fix: [バグ修正の説明] 影響ファイル: - src/utils/calculation.ts [3] refactor: [リファクタリング内容] 影響ファイル: - src/components/OldComponent.tsx [4] chore: [その他の変更] 影響ファイル: - package.json - tsconfig.json ━━━━━━━━━━━━━━━━━━━━━━━━━━━ ``` ### 4. 実行確認 ユーザーに以下を確認: - 提案したコミット構成でよいか - コミットメッセージの修正が必要か - 特定のファイルの所属グループを変更したいか ### 5. コミットの実行 承認後、以下の手順で実行: 1. 全ての変更を一旦アンステージ: `git reset` 2. 各グループごとに: - 関連ファイルをステージング: `git add [files]` - 意味のあるコミットメッセージでコミット - Conventional Commitsフォーマットを使用 ### コミットメッセージのフォーマット ``` ():