J'ai exécuté un reset --hard
Ce qui vient de se passer
reset --hard a déplacé ta branche sur un autre commit et écrasé ton répertoire de travail. Les commits restent accessibles via le reflog. Les modifications jamais ajoutées à l'index sont perdues du point de vue de Git.
Risques potentiels
- Relancer un reset --hard par-dessus peut aggraver la situation.
- Les modifications jamais indexées ne sont pas récupérables par Git.
Avant d'exécuter quoi que ce soit
- Arrête de taper des commandes au hasard. Respire.
- Vérifie l'historique local de ton IDE (Timeline de VS Code, Local History de JetBrains) pour le travail non indexé.
- Règle d'or : avant toute commande destructrice, crée une branche de secours avec git branch backup/before-fix — ça ne coûte rien.
Étapes de récupération
- 1
Retrouver où tu étais
La ligne juste sous « reset: moving to … » est généralement l'état que tu veux (HEAD@{1}).
Sans risque$ git reflog -n 15 - 2
Le sauver sur une nouvelle branche
Plus sûr que de refaire un reset : tu peux inspecter la branche sauvée avant toute autre action.
Sans risque$ git branch rescue HEAD@{1}$ git log --oneline -n 5 rescue - 3
Chercher les fichiers indexés perdus
Les fichiers passés par git add survivent sous forme de blobs orphelins. Inspecte-les un par un avec git show.
Sans risque$ git fsck --lost-found$ git show <blob-hash> - 4
Remettre ta branche en place
Une fois que rescue te convient. Cela supprime toute modification actuelle non commitée.
Destructrice$ git reset --hard rescue
Ces procédures sont fournies à titre informatif. Lis chaque commande et adapte-la à ta situation avant de l'exécuter. Disclaimer