197 votes

Déplacer (ou "Annuler") le dernier commit git vers une zone non paginée

Quelle est la meilleure façon de remettre votre dernier commit git dans les zones "Changes not staged" + "Untracked files" (avec le commit en question n'étant pas poussé / seulement dans votre repo local, le supprimant effectivement de HEAD) ?

En d'autres termes, comment faire un retour en arrière sur un commit, mais appliquer automatiquement cette différence à votre zone non gérée ?

363voto

Stefan Points 23363

Vous pouvez utiliser git reset pour fixer la branche courante au commit précédent, c'est à dire HEAD^

git reset HEAD^

Ajout de --soft conservera ces fichiers dans le répertoire indice : (prêt à être engagé)

git reset --soft HEAD^

--soft

( ) Cela laisse tous vos fichiers modifiés "Changes to be committed", comme le dirait git status.

8voto

John Points 5478

git-extras fournit un git undo qui est une manière plus facile à retenir de faire la même chose (avec un certain nombre d'autres extras pratiques, comme le nom l'indique).

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