Récupérer une branche supprimée sous Git
Vous avez supprimé une branche (avec git branch -D nom_de_branche
), pas de panique. Tant que le garbage collector n’est pas passé, la branche est toujours dans l’historique.
Retrouvez le hash du dernier commit de la branche en vous baladant dans git reflog
(quelques git checkout
peuvent être nécessaires pour en voir le contenu). Si vous ne le trouvez pas dans le reflog, tentez git fsck --lost-found
.
Une fois que vous avez le numéro magique, faites git branch nom_de_branche votre_hash
, et vous voilà sorti d’affaire.
Non ne me remerciez pas, je ne fais que mon devoir madame.
Articles similaires:
- Récupérer l’IP client avec Nginx en proxy sous CherryPy/Django/Bottle – proxy_set_header
- Récupérer le load average d’un serveur avec python + fonction sleep
- Une astuce pour ne plus avoir peur des merges avec Git
- Quelques commandes Git qu’elles sont bien
- Comment ne pas avoir à préciser “origin master” pour git pull et git push
De même que le raid ne protège pas d’un rm -rf, avoir un gestionnaire de source n’empêche pas les sauvegardes :)
En parlant de garbage collector, vous pouvez réduire fortement la taille du dossier .git et le temps de recherche dans l’historique en forçant son utilisation par
git gc
(ajoutez l’option--aggressive
pour un peu plus d’efficacité). Sur certains dépôts j’ai pu gagner un facteur 20 en taille et 100 en recherche. Ça fonctionne super bien !typo: –lost-found
C’est pas une typo, c’est cette bitch de WP qui te “corrige” certains trucs sans te prévenir.