Mon rebase a mal tourné
Ce qui vient de se passer
Un rebase réécrit les commits. Si tu en as supprimé un par erreur ou mal résolu des conflits, l'ancienne version de ta branche est toujours dans le reflog (et dans ORIG_HEAD juste après).
Risques potentiels
- Si la branche était déjà poussée, l'historique réécrit diffère du remote.
Avant d'exécuter quoi que ce soit
- Rebase en cours ? Annule d'abord au lieu de creuser plus profond.
- 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
Encore en cours ? Annule
Restaure la branche exactement comme avant le rebase.
Sans risque$ git rebase --abort - 2
Déjà terminé : retrouver l'ancien sommet
Cherche la ligne juste avant « rebase (start) » : c'est ta branche avant le rebase.
Sans risque$ git reflog -n 30$ git branch backup/before-rebase <hash> - 3
Remettre la branche en place
Une fois la branche de secours vérifiée. Supprime les modifications non commitées.
Destructrice$ git reset --hard backup/before-rebase
Ces procédures sont fournies à titre informatif. Lis chaque commande et adapte-la à ta situation avant de l'exécuter. Disclaimer