Reflog : récupérer un commit "perdu"
AvancéLe reflog enregistre tous les déplacements de HEAD (commits, resets, checkouts, rebases...), même ceux qui ne sont plus visibles dans git log. C'est le filet de sécurité de Git.
# Voir l'historique des déplacements de HEAD
git reflog
# abc1234 HEAD@{0}: commit: Ajoute la validation
# def5678 HEAD@{1}: reset: moving to HEAD~1
# ghi9012 HEAD@{2}: commit: wip
Cas pratique : vous avez fait
git reset --hard HEAD~1par erreur et perdu un commit qui n'était pas poussé.git reflog # repérez la ligne juste avant le reset, ex: ghi9012 HEAD@{2}: commit: wip git reset --hard ghi9012 # ou, plus prudent, créer une branche à partir de ce commit pour ne rien écraser : git branch recuperation ghi9012Le reflog garde généralement 90 jours d'historique local (
gc.reflogExpire) — largement de quoi rattraper une erreur récente.