Tools

Git 2.54: History-Umschreiben ohne Rebase-Kopfschmerzen

tools git devops version-control

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.

Original bei GitHub Blog