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.

6 thoughts on “Récupérer une branche supprimée sous Git

  • Ω

    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 :)

  • kontre

    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 !

  • Sam Post author

    C’est pas une typo, c’est cette bitch de WP qui te “corrige” certains trucs sans te prévenir.

  • Jibap

    Merci, merci, merci !!! Vous me sauvez la vie là !!

    Une branche avec mauvais retour arrière !! tout perdu mais non grâce à cette astuce, tout est retrouvé !

    Super

  • hugo

    Super pour l’astuce, vous m’avez fait gagner quelques heures précieuse ;-)

Comments are closed.

Des questions Python sans rapport avec l'article ? Posez-les sur IndexError.