J'ai supprimé ma branche
Ce qui vient de se passer
Supprimer une branche ne supprime qu'une étiquette qui pointe vers un commit. Les commits restent dans ton dépôt local pendant des semaines (jusqu'au garbage collection), et le reflog se souvient de l'endroit où était la branche.
Risques potentiels
- Lancer git gc --prune=now effacerait vraiment les commits orphelins.
- Si la branche n'existait que sur la machine d'un collègue, lui seul peut la restaurer.
Avant d'exécuter quoi que ce soit
- Ne lance ni git gc ni git prune tant que la branche n'est pas récupérée.
- Supprimée sur GitHub ? La page de la PR propose un bouton « Restore branch ».
Étapes de récupération
- 1
Retrouver le dernier commit de la branche
git branch -D a affiché « Deleted branch x (was abc1234) ». Message perdu ? Le reflog liste toutes les positions par lesquelles HEAD est passé.
Sans risque$ git reflog --date=relative | grep -i 'my-branch' - 2
Recréer la branche sur ce commit
Remplace abc1234 par le hash trouvé. Rien n'est écrasé : tu crées juste une nouvelle étiquette.
Sans risque$ git branch my-branch abc1234 - 3
La renvoyer sur le remote
Uniquement si la branche a aussi disparu du remote.
Prudence$ git push -u origin my-branch
Ces procédures sont fournies à titre informatif. Lis chaque commande et adapte-la à ta situation avant de l'exécuter. Disclaimer