Von Gast (nicht überprüft) , 29 April 2026

Was rerere tut

Rerere — "reuse recorded resolution" — beobachtet das Losen eines Merge-Konflikts, zeichnet die Auflosung auf und spielt sie das nachste Mal ab, wenn derselbe Konflikt erscheint. Unschatzbar fur lange laufende Branches, die wiederholt rebasen oder mergen.

Aktivieren

git config --global rerere.enabled true
git config --global rerere.autoupdate true

Wie es funktioniert

Beim Konflikt speichert Git einen Hash des Konfliktkontexts unter .git/rr-cache/.

Status inspizieren

git rerere status
git rerere diff
git rerere remaining

Schlechte Auflosung vergessen

git rerere forget path/to/file

Anwendungsfall: Rebase-Sturme

Sie pflegen einen langen Feature-Branch und rebasen wochentlich gegen main. Dieselben Konflikte in CHANGELOG.md erscheinen jedes Mal.

Anwendungsfall: Integrations-Branch

Einige Teams pflegen einen "integration"-Branch, der nachts alle Feature-Branches re-merged.

Haufige Fehler

rerere blind vertrauen: immer mit git diff --staged inspizieren, bevor committet wird.

rerere aus Historie trainieren

git rev-list --merges main | while read merge; do
  git checkout "$merge^"
  git merge "$merge^2" || git rerere
  git reset --hard
done