web-dev-qa-db-fra.com

Comment supprimer les validations avec egit?

Je viens de faire de mauvais commits avec egit que je voudrais supprimer.

Some bad commits I want to delete

Comment supprimer les validations d'Egit?

Merci!

EDIT: J'ai essayé plusieurs fois une réinitialisation matérielle mais cela n'a rien fait. Hard reset screen

EDIT 2: La réinitialisation matérielle fait effectivement des changements de restauration, mais je veux qu'ils disparaissent complètement de l'histoire comme si je n'avais jamais fait ces commits.

26
stommestack

RightMouse sur votre référentiel et cliquez sur "afficher dans -> historique". Vous devez sélectionner le dernier commit avant votre dernier "fetch" ... la plupart du temps c'est le deuxième commit sous votre HEAD actuel. RightMouse sur ce commit et "reset -> Hard" (réinitialisera tous vos commit ET les modifications de l'espace de travail local au commit sélectionné).

vous devriez voir la flèche vers le haut se transformer en flèche vers le bas, ce qui signifie que vos validations sont supprimées et que votre référentiel est obsolète. Utilisez "fetch" et "rebase" pour être à jour.

33
Frank

Notez que Egit3.0 dans Kepler vous permet de réinitialiser en dur toute expression arborescente que vous souhaitez:

enter image description here

Mais une fois la réinitialisation matérielle effectuée, vous devez toujours git Push --force après cela: si vous ne le faites pas, l'historique de votre dépôt en amont répertoriera toujours ce commit.

5
VonC