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.

Concept cle

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 reflog

Affiche 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

1

Commite souvent

Le reflog ne peut sauver que ce qui a ete commit. Les modifications non commitees ne sont pas enregistrees.

2

Verifie le reflog avant un reset

Avant de faire un reset --hard, note le hash actuel au cas ou tu voudrais revenir en arriere.

3

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.

4

Les entrees expirent

Par defaut, les entrees du reflog expirent apres 90 jours. N'attends pas trop longtemps pour recuperer un commit perdu.

A

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