Was Amend tut
git commit --amend ersetzt den letzten Commit durch einen neuen Commit, der enthalt, was Sie aktuell gestaged haben.
Drei haufige Amend-Szenarien
# 1. Tippfehler in letzter Nachricht beheben
git commit --amend -m "Fix avatar upload race condition"
# 2. Vergessene Dateien hinzufugen
git add forgotten-file.js
git commit --amend --no-edit
# 3. Staged Anderungen vollstandig ersetzen
git add -A
git commit --amend
Die Sicherheitsregel
Niemals gepushte Commits andern.
# SAFE
git commit --amend
# DANGEROUS
git commit --amend
git push --force
Force-with-lease fur Solo-Branches
git commit --amend
git push --force-with-lease
Wiederherstellung nach schlechtem Amend
git reflog
git reset --hard HEAD@{1}
Amend versus Fixup
git commit --fixup <sha-to-fix>
git rebase -i --autosquash <sha-to-fix>^
Autor-Daten
git commit --amend --reset-author --no-edit