Da Anonimo (non verificato) , 29 Aprile 2026

Il reflog: la rete di sicurezza

Git registra ogni movimento di HEAD nel reflog.

Ispezionare il reflog

git reflog
git reflog show feature/login
git log -g

Recuperare un branch eliminato

git reflog | grep checkout
git checkout -b recovered <sha>

Annullare un reset cattivo

git reset --hard HEAD~5
git reflog
git reset --hard HEAD@{1}

Annullare un rebase cattivo

git reflog
git reset --hard ORIG_HEAD

Recuperare un commit modificato

git commit --amend
git reflog
git reset --hard HEAD@{1}

Trovare commit orfani

git fsck --lost-found
git fsck --no-reflog | grep "dangling commit"

Reflog versus stash

git fsck --no-reflog | awk '/dangling commit/ {print $3}'
git stash apply <sha>

Configurare la scadenza del reflog

git config gc.reflogExpire 180.days
git config gc.reflogExpireUnreachable 90.days