Git reflog : retrouver les commits perdus
Tu as perdu un commit apres un reset ? Supprime une branche par erreur ? Le reflog est le filet de securite de Git. Il enregistre tout, meme ce que git log ne montre plus.
C'est quoi git reflog ?
git reflog (reference log) enregistre chaque mouvement de HEAD dans ton depot local : commits, checkouts, resets, merges, rebases...
Contrairement a git log qui montre uniquement la chaine de commits accessible, le reflog voit tout l'historique, y compris les commits "perdus" apres un reset ou un rebase.
C'est ton filet de securite : tant que tu as commit quelque chose, le reflog peut t'aider a le retrouver.
Syntaxe de git reflog
git reflogAffiche l'historique complet de HEAD
git reflog show <branche>Reflog d'une branche specifique
git reset --hard HEAD@{n}Revenir a un etat precedent du reflog
Le reflog en action
Voir le reflog et recuperer des commits perdus apres un reset accidentel.
Consulter le reflog
Recuperer un commit perdu
3 situations ou le reflog te sauve
Reset --hard accidentel
Tu as fait git reset --hard et perdu des commits. Le reflog les a enregistres, tu peux revenir en arriere.
git reset --hard HEAD@{1}Branche supprimee
Tu as supprime une branche avec git branch -D. Retrouve son dernier commit dans le reflog et recree-la.
git checkout -b ma-branche <hash>Rebase qui a mal tourne
Un rebase a cree des problemes ? Le reflog te permet de retrouver l'etat d'avant le rebase et d'y revenir.
git reset --hard HEAD@{n}Bonnes pratiques avec le reflog
Commite souvent
Le reflog ne peut sauver que ce qui a ete commit. Les modifications non commitees ne sont pas enregistrees.
Verifie le reflog avant un reset
Avant de faire un reset --hard, note le hash actuel au cas ou tu voudrais revenir en arriere.
Le reflog est local
Le reflog n'est pas partage. Si tu perds ton depot local (disque dur HS), le reflog est perdu aussi. Pousse regulierement vers le distant.
Les entrees expirent
Par defaut, les entrees du reflog expirent apres 90 jours. N'attends pas trop longtemps pour recuperer un commit perdu.
GitQuest est conçu par Anaïs, développeuse web et responsable pédagogique, spécialisée en formations tech et accessibilité numérique.
Questions sur git reflog
Pratique le reflog sans risque
GitQuest te met face a des situations ou tu dois retrouver des commits perdus. Entraine-toi dans un environnement securise.
S'entrainer maintenant