メッセージ変更なしでamendするGitエイリアス
コミットメッセージを変更せずに最後のコミットをamendするgitエイリアスを作成。忘れたファイルの追加や小さなミスの修正に最適。
Workflow Aliases
詳細な説明
メッセージ変更なしのAmend
amendエイリアスは最も便利なワークフローショートカットの一つです。エディタを開かずにステージされた変更を前のコミットに追加します:
[alias]
amend = commit --amend --no-edit
いつ使うか
このエイリアスは「あ、ファイルをステージし忘れた」という瞬間に最適です。典型的なワークフロー:
git commit -m "Add user validation"
# ファイルをステージし忘れたことに気づく
git add src/validators/user.ts
git amend
内部で何が起こるか
git commit --amendは現在のブランチの先端を、前のコミットの変更と新しくステージされた変更を組み合わせた新しいコミットで置き換えます。--no-editフラグはエディタを開かずに既存のコミットメッセージを再利用します。
重要な注意事項
**共有ブランチにプッシュされたコミットは絶対にamendしないでください。**Amendは新しいコミットハッシュを作成して履歴を書き換えます。他の人が元のコミットに基づいて作業している場合、分岐とforce-pushの問題が発生します。
Amendして安全な場合:
- まだプッシュしていないローカルコミット
- 個人的なフィーチャーブランチのコミット(force-push付き)
Amendが安全でない場合:
- 他の人がプルしたmain/developのコミット
- チームの合意なしの共有ブランチのコミット
ユースケース
ファイルのステージ忘れに気づいた時、最後のコミットに小さな修正を追加したい時、フォーマット変更を含めたい時に毎日何度も使用します。「typo修正」のようなフォローアップコミットを避け、コミット履歴をクリーンに保ちます。