Da Anonimo (non verificato) , 29 Aprile 2026

Sinossi

git config --global rerere.enabled true
git rerere status
git rerere diff
git rerere clear

Descrizione

Il comando git rerere (Reuse Recorded Resolution) registra come risolvi un conflitto la prima volta e riproduce la stessa risoluzione automaticamente la volta successiva che lo stesso conflitto appare. È prezioso quando feature branch di lunga durata sono ripetutamente mergiati o rebasati su una base in movimento — senza rerere, ri-risolvi gli stessi conflitti ogni volta.

Rerere è opt-in. Abilitalo globalmente con git config --global rerere.enabled true. Una volta abilitato, ogni risoluzione di conflitto viene cachata, e Git applica automaticamente la risoluzione cachata sui futuri incontri della stessa pre-immagine di conflitto.

Nell'uso quotidiano, git rerere si integra con alias e CI.

Capire il modello dati di Git aiuta a prevedere i risultati.

Opzioni comuni

Sottocomando / ConfigDescrizione
rerere.enabledAttiva la registrazione automatica.
rerere.autoUpdateMette automaticamente in stage i file risolti.
statusMostra file con risoluzioni registrate.
diffVisualizza la risoluzione registrata.
remainingMostra conflitti non ancora risolti.
clearElimina tutte le risoluzioni registrate.
forget <path>Dimentica la risoluzione per un singolo path.

Esempi

git config --global rerere.enabled true
git config --global rerere.autoUpdate true
# Abilita per tutti i repo

# Dopo aver risolto un conflitto durante merge o rebase, rerere ricorda.
# La prossima volta che lo stesso conflitto appare, la risoluzione viene auto-applicata.

git rerere status
# Mostra file dove una risoluzione registrata è entrata in azione

git rerere clear
# Cancella il set registrato se diventa stantio

Errori comuni

Rerere aiuta solo con conflitti identici. Lievi cambiamenti di contesto prevengono il riuso. Se una risoluzione registrata si rivela sbagliata, usa git rerere forget <path> per cancellarla prima di ri-risolvere. I dati rerere vivono in .git/rr-cache/ e sono locali — non sono condivisi con i collaboratori.

Comandi correlati

git merge, git rebase, git mergetool, git config