Il arrive parfois qu’après avoir travaillé sur une branche on la supprime accidentellement en revenant sur la branche principale en faisant :
1 2 | git checkout develop git branch -D maBranche |
Si on fait ça avant d’avoir mergé la branche (ça arrive), ça devient assez critique 🙁
Heureusement, git a une solution magique(ou presque) pour nous aider à récupérer cette branche.
Git enregistre toutes les modifications de votre dépôt dans un fichier de logs auquel vous pouvez accéder via la commande :
git reflog
1 2 3 4 | $ git reflog 8842905 HEAD@{0}: checkout: moving from maBranche to develop 8f2ba2b HEAD@{1}: commit: [IMP] modification sur ma branche 8842905 HEAD@{2}: checkout: moving from develop to maBranche |
la commande affiche les dernière modifications faites sur votre dépôt avec les informations suivantes :
– le sha1 de la modification qui l’identifie de manière unique
– la position de la modification dans les logs
– la description de la modification (checkout, commit…)
Ici, la modification qui nous intéresse est celle où l’on a fait le commit. On peut la récupérer en faisant :
– Recreer la branche maBranche
– lancer la commande :
1 | git merge 8f2ba2b |
où 8f2ba2b represente le sha1 du commit en question.
ou directement
1 | git branch maBranche 8f2ba2b |
Voilà, vous pouvez la merger à présent.
merci au fond du coeur j’ai bien aimé cet article ça m’a sauvé la vie
Merci ce poste ma bien aidé