Tools
Git 2.54: History-Umschreiben ohne Rebase-Kopfschmerzen
Endlich: git history reword und split
Der interactive Rebase ist mächtig – aber oft Overkill. Du hast einen Tippfehler in einer Commit-Message vor drei Commits? Mit git rebase -i musst du eine Todo-Liste aufsetzen, den Commit markieren, den Rebase durchfahren.
Git 2.54 bringt git history – ein experimentelles Kommando für genau diese Fälle:
git history reword Öffnet den Editor mit der Commit-Message, schreibt sie direkt um. Kein Touch von Working Tree oder Index. Funktioniert sogar in Bare Repositories.
git history split Teilt einen Commit interaktiv in zwei. Interface wie git add -p – Hunks auswählen, fertig. Git erstellt einen neuen Parent-Commit mit den gewählten Änderungen.
Zweite Funktion: Config-basierte Hooks
Jetzt lässt sich ein Hook direkt in der Config definieren:
[hook "linter"]
event = pre-commit
command = ~/bin/linter --cpp20
Hooks können in ~/.gitconfig, /etc/gitconfig oder lokalem Repo-Config leben. Und: Mehrere Hooks pro Event sind möglich – Linter und Secrets-Scanner gleichzeitig.
Einschränkungen: History-Befehle funktionieren nicht mit Merge-Commits. Verweigert jede Operation, die Konflikte erzeugt – by Design.