29 votes

Puis-je annuler la dernière poussée de git?

Un membre de l'équipe accidentellement poussé la moitié d'un concert indésirables de zips à la distance des pensions de la nuit dernière quand ils étaient dans un rush. Oui... oups.

Personne n'a tiré ou commis depuis.

Idéalement, je veux juste "annuler" ce qui s'est passé.

J'ai regardé filter-branch et a pensé à essayer quelque chose comme

git filter-branch --tree-filter 'rm -f *.zip' HEAD

mais que serait locale, et je ne peux pas comprendre comment le faire direct sur la télécommande repo.

Est-il un moyen plus simple de défaire ce qui s'est passé? Si elle modifie son dernier commit et pousse de nouveau que l'annulation de la push - c'est à dire en fait de supprimer ces fichiers à partir de l'histoire?

Évidemment, si elle ne les supprime, les validations et les pousse à nouveau, puis qui laisse encore le contenu de l'opération, ce qui n'est pas bon.

48voto

Stray Points 1153

Merci Don, j'avais vu ça mais je ne m'étais pas rendu compte que cela avait résolu mon problème, car je n'ai qu'une seule branche.

J'ai fait:

 git push -f origin 5910117a8fc2c71334251465b54d6d9daeb28d1c:master
 

Et tout revient à ce que c'était.

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