Por Anónimo (no verificado) , 29 Abril 2026

El reflog: tu red de seguridad

Git registra cada movimiento de HEAD en el reflog — resets, checkouts, rebases, amends, merges. Incluso commits a los que ningún branch apunta se mantienen alcanzables durante ~90 días.

Inspeccionar el reflog

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

Recuperar un branch eliminado

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

Deshacer un mal reset

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

Deshacer un mal rebase

git reflog
git reset --hard ORIG_HEAD

Recuperar un commit enmendado

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

Encontrar commits huérfanos

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

Reflog vs stash

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

Configurar expiración del reflog

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