50 votes

Comment puis-je réparer un commit git inversé ?

J'ai validé un tas de modifications dans un référentiel, et elles ont été annulées par quelqu'un d'autre (elles compilent sur Windows mais pas sur Linux). Je pense que les modifications sont toujours dans l'historique, mais comment puis-je récupérer ces modifications, les corriger, puis les soumettre à nouveau ?

87voto

Nils Werner Points 3392

Avez-vous essayé de revenir en arrière ?

Ils ont annulé votre commit en utilisant

 git revert <your commit id>

Le retour lui-même est un commit et a son propre identifiant de commit. Alors maintenant, vous devez faire

 git revert <the commit id of his revert-commit>

24voto

Bombe Points 34185

Vous pouvez essayer d'annuler les retours en utilisant git revert . Vous pouvez également restaurer les fichiers de votre commit en utilisant git checkout . Ou vous pouvez utiliser git cherry-pick -n pour les réappliquer et les modifier. Vous pouvez créer une nouvelle branche à partir de votre commit où vous appliquez les modifications en utilisant git branch . Les possibilités sont presque infinies. :)

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