web-dev-qa-db-fra.com

Tortoisegit undo last commit into the repo

Existe-t-il une option dans tortoisegit pour annuler le dernier commit dans le repo?

Par erreur, j'ai poussé un grand nombre de fichiers inutiles dans mon référentiel git (branche: master) que je dois annuler. J'ai beaucoup recherché la bonne option dans tortoise git pour annuler le Push et revenir à l'état avant le dernier commit. Veuillez me montrer un moyen d'annuler mon dernier commit.

37
user2742122

Si vous devez revenir à l'état précédent avant le dernier commit, sélectionnez simplement l'action validée dans la liste des journaux et sélectionnez revert changes by this commit.

Attention, vous devez commit et Push à nouveau les modifications apportées.

34
Simo Endre

Si vous n'avez pas encore poussé vos modifications (donc votre commit n'est que local)

  1. TortoiseGit -> Show log
  2. Sélectionnez le commit auquel vous souhaitez revenir
  3. Reset "<branch>" to this...

Si c'est le cas, cela peut toujours être fait, mais vous devrez également effectuer un force-Push (cocher " écraser les modifications connues 1).

1Le drapeau " écrase les modifications connues " remplacera le commit déjà poussé par un nouveau. S'il y a une chance que quelqu'un ait déjà récupéré le commit que vous remplacez, n'utilisez pas cette fonctionnalité, sinon cela créera une fourchette dans l'historique avec deux vérités contradictoires.


Il y a aussi un raccourci pour quand vous voulez juste (1) refaire le dernier commit et (2) vous ne l'avez pas encore poussé :

  1. Valider -> Cochez " Modifier la dernière validation "

Cela remplacera le dernier commit par un nouveau. Mais je ne recommande pas d'utiliser cela - si le dernier commit est déjà poussé, vous pouvez vous retrouver avec un gros gâchis. TortoiseGit ne vous arrêtera pas ici.

En effectuant une réinitialisation vous êtes obligé de consulter le journal, et là vous voyez si la validation est locale ou non.

49
rustyx