git rerere

Patches & Umschreiben

Verwendet aufgezeichnete Konfliktlösungen wieder


Die Funktion 'git rerere' (reuse recorded resolution) merkt sich, wie du einen Konflikt gelöst hast, und wendet dieselbe Lösung automatisch an, wenn genau dieser Konflikt wieder auftritt — beim erneuten Rebase, erneuten Mergen eines Branches oder Wiederholen eines Merges. Aktiviere sie mit rerere.enabled; git zeichnet dann Konflikte und Lösungen selbst auf. Das Ergebnis prüfst du weiterhin und führst git add aus.

Syntax

git rerere [clear | forget <path> | diff | status | remaining | gc]
[ ] optional| oder<arg> Platzhalter... wiederholbar--flag Option

Beispiele

Einschalten

git config --global rerere.enabled true

Ab jetzt werden Konflikte und Lösungen gemerkt.


Konflikte in Aufzeichnung

git rerere status

Dateien, deren Konflikt gerade aufgezeichnet wird.


Eine schlechte Lösung vergessen

git rerere forget app.js

Beim nächsten Mal neu aufzeichnen.

Workflow-Beispiele

1
git config rerere.enabled true

Einmal

2
git merge main … resolve … git reset --hard HEAD~1

Probe-Merges lehren rerere

3
git merge main

Der echte Merge nutzt deine Antworten wieder

Fehlerbehebung

Ein Konflikt wurde falsch gelöst

Ursache: Eine schlechte Lösung wurde aufgezeichnet

git rerere forget <file>, erneut lösen, committen

Tipps & Stolperfallen

Best Practices

  • ✓Aktiviere es global, wenn du oft rebasest.
  • ✓Prüfe von rerere gelöste Dateien immer vor git add.

Häufige Fehler

  • ✗Eine falsche Lösung aufzeichnen und sie stillschweigend wieder angewendet bekommen — prüfe Dateien nach Merges und nutze rerere forget.

FAQ

A:

Standardmäßig nicht: setze rerere.autoUpdate auf true, um gelöste Dateien automatisch vorzumerken.