Commit
変更をコミットしてリモートにプッシュします。
ワークフロー
1. 変更内容の確認
bash
# 変更状態を確認 git status # 変更差分を確認 git diff git diff --staged
2. セキュリティチェック
以下のパターンを検出したら警告し、.gitignore への追加を提案:
| パターン | 説明 |
|---|---|
.env* | 環境変数ファイル |
*.pem, *.key | 秘密鍵 |
credentials.json | 認証情報 |
*_secret*, *_token* | シークレット |
node_modules/ | Node.js 依存パッケージ |
vendor/ | PHP/Go 依存パッケージ |
.DS_Store | macOS システムファイル |
警告が出た場合:
code
⚠️ 機密ファイルが検出されました: - .env.local .gitignore に追加しますか?
3. コミットメッセージ生成
変更内容を分析し、Conventional Commits 形式でメッセージを自動生成:
プレフィックス判定:
| 変更内容 | プレフィックス |
|---|---|
| 新規ファイル追加(機能) | feat: |
| バグ修正 | fix: |
| ドキュメント変更 | docs: |
| リファクタリング | refactor: |
| テスト追加・修正 | test: |
| ビルド・依存関係 | chore: |
メッセージ例:
code
feat: ユーザー認証機能を追加 - ログインフォームを実装 - JWT トークン認証を追加 - セッション管理を実装
4. ユーザー確認
code
## コミット内容の確認
### 変更ファイル
{git status --short の出力}
### コミットメッセージ
{自動生成されたメッセージ}
この内容でコミット・プッシュしてよろしいですか?
5. コミット実行
bash
git add .
git commit -m "{コミットメッセージ}"
6. プッシュ実行
bash
# リモートブランチが設定されていない場合
git push -u origin {現在のブランチ名}
# リモートブランチが設定されている場合
git push
7. 完了報告
code
## コミット完了
コミット: {commit_hash}
ブランチ: {branch_name}
プッシュ: ✅ 完了
変更内容:
- {変更ファイル1}
- {変更ファイル2}
重要な注意事項
- •✅ コミット前に必ずユーザー確認を行う
- •✅ 機密ファイルをコミットしない
- •✅ Conventional Commits 形式を使用
- •❌ 確認なしでコミット・プッシュしない
- •❌ main ブランチへの直接コミットは避ける(警告を出す)