web-dev-qa-db-fra.com

Comment tout annuler dans le commit précédent

Récemment, dans un projet à plusieurs personnes, un commit a été effectué, comme indiqué dans l'image ci-dessous. En rouge, vous pouvez voir un commit avec la description/le commentaire de 'Merge?'.

Ce commit a ajouté de nombreux fichiers et en a modifié de nombreux autres et n'a jamais eu l'intention de se produire.

Utilisation de atlassian-sourcetree Que dois-je faire pour tout ramener au commit mis en surbrillance en bleu? (J'ai 8 commits de retard comme on peut le voir sur la capture d'écran.)

sourcetree troubs

40
captainrad

Si vous avez poussé les commits en amont ...

Sélectionnez le commit que vous souhaitez restaurer et inverser les modifications en cliquant sur Reverse File, Reverse Hunk ou Reverse Selected Lines. Faites-le pour tous les commits après celui-ci que vous souhaitez également restaurer.

reverse stuffreverse commit

Si vous n'avez pas poussé les commits en amont ...

Faites un clic droit sur le commit et cliquez sur Reset current branch to this commit.

reset branch to commit

59
0xcaff

J'ai cherché plusieurs options pour que mon git soit réinitialisé sur un commit spécifique, mais la plupart d'entre elles ne sont pas aussi satisfaisantes.

J'utilise généralement cela pour réinitialiser le git au commit spécifique dans l'arborescence source.

  1. sélectionnez commit pour réinitialiser sur l'arbre source.

  2. Dans les listes déroulantes, sélectionnez la branche active, d'abord Parent uniquement

  3. Et faites un clic droit sur "Réinitialiser la branche à ce commit" et sélectionnez l'option de réinitialisation matérielle (souple, mixte et difficile)

  4. puis allez au terminal git Push -f

Vous devriez être tous ensemble!

18
Siddhartha Thota