1841 votes

Annulation git reset ?

Quel est le moyen le plus simple pour annuler le

commande ? Actuellement, la seule façon que je peux penser fait un « git clone http://... » d’un repo distant.

3350voto

Mark Lodato Points 6548

Réponse courte:

git reset HEAD@{1}

PoshGit/Powershell utilisateurs:

git reset 'HEAD@{1}'

Réponse longue:

Git tient un journal de toutes les ref des mises à jour (par exemple, des caisses, de réinitialisation, de s'engager, de fusion). Vous pouvez le consulter en tapant:

git reflog

Quelque part dans cette liste est le commit que vous avez perdu. Disons que vous venez de taper git reset HEAD~ et souhaitez l'annuler. Mon reflog ressemble à ceci:

$ git reflog
3f6db14 HEAD@{0}: HEAD~: updating HEAD
d27924e HEAD@{1}: checkout: moving from d27924e0fe16776f0d0f1ee2933a0334a4787b4c
[...]

La première ligne indique que HEAD 0 poste (s) précédent (en d'autres termes, la position actuelle) est 3f6db14; elle a été obtenue par la réinitialisation HEAD~. La deuxième ligne indique que HEAD 1 position il y a (en d'autres mots, l'état d'avant le reset) est d27924e. Elle a été obtenue par la vérification d'un particulier d'engager (si ce n'est pas important pour le moment). Donc, pour annuler la réinitialisation, exécutez git reset HEAD@{1} (ou git reset d27924e).

Si, d'autre part, vous avez exécuter d'autres commandes depuis que la mise à jour de la TÊTE, le commit que vous voulez ne pas être en haut de la liste, et vous aurez besoin de chercher à travers l' reflog.

Une dernière remarque: Il peut être plus facile à regarder l' reflog pour la branche que vous souhaitez réinitialiser, dire maître, plutôt que d' HEAD:

$ git reflog show master
c24138b master@{0}: merge origin/master: Fast-forward
90a2bf9 master@{1}: merge origin/master: Fast-forward
[...]

Ce qui devrait avoir moins de bruit que le général HEAD reflog.

134voto

zainengineer Points 436

Ma situation était un peu différente, j’ai fait `` trois fois.

J’ai dû faire annuler

donc vous devriez être capable de faire

Mais si vous avez fait git reset à l’aide

vous aurez besoin de faire

{N} représente le nombre d’opérations en Reflog. Comme Mark a souligné dans les commentaires.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X