Je viens de supprimer la mauvaise branche avec quelques changements expérimentaux dont j'ai besoin git branch -D branchName
.
Comment récupérer la branche?
git
branch
git-branch
Stefan Kendall
la source
la source
Réponses:
Vous pouvez utiliser git reflog pour trouver le SHA1 du dernier commit de la branche. À partir de là, vous pouvez recréer une branche à l'aide de
Edit: Comme le dit @seagullJS, la
branch -D
commande vous indique le sha1, donc si vous n'avez pas encore fermé le terminal, cela devient vraiment facile. Par exemple, cela supprime puis restaure immédiatement une branche nomméemaster2
:la source
git branch branchName origin/branchName
Si vous connaissez le dernier SHA1 de la branche, vous pouvez essayer
Vous pouvez trouver le SHA1 en utilisant
git reflog
, décrit dans la solution ici .la source
Si vous n'avez pas encore poussé la suppression, vous pouvez simplement faire:
la source
Si vous venez de supprimer la branche, vous verrez quelque chose comme ça dans votre terminal:
Pour restaurer la branche, utilisez:
par exemple :
la source
Premièrement: sauvegardez l'intégralité de votre répertoire, y compris le répertoire .git.
Deuxièmement: vous pouvez utiliser
git fsck --lost-found
pour obtenir l'ID des commits perdus.Troisièmement: rebaser ou fusionner sur le commit perdu.
Quatrièmement: réfléchissez toujours à deux fois avant d'utiliser -D ou --force avec git :)
Vous pouvez également lire cette bonne discussion sur la façon de récupérer de ce type d'erreur.
EDIT: Soit dit en passant, ne courez pas
git gc
(ou ne le laissez pas s'exécuter seul - c'est-à-dire ne courez pasgit fetch
ou quelque chose de similaire) ou vous risquez de perdre vos commits pour toujours.la source
Merci, cela a fonctionné.
// peut voir mes anciens fichiers archivés dans mon ancienne branche
la source
Suivez ces étapes:
1: Entrez:
Cela affichera tout l'historique des commits, vous devez sélectionner le sha-1 qui a le dernier commit que vous souhaitez récupérer
2: créez un nom de branche avec l' ID Sha-1 que vous avez sélectionné, par exemple: 8c87714
la source
Cela a fonctionné pour moi:
la source