Si l'on suppose qu'il est autorisé à changer l'engagement historique, voici un flux de travail pour annuler des changements dans un seul fichier dans une version antérieure commettras:
Par exemple, vous voulez annuler des changements dans 1 fichier (badfile.txt
) COMMIT aaa222
:
aaa333 Good commit
aaa222 Problem commit containing badfile.txt
aaa111 Base commit
Rebase sur la base de commettre, modifier le problème commit, & continuer.
1) Lancer rebasage interactif:
git rebase -i aaa111
2) Marquer le problème commettras pour modifier dans l'éditeur en changeant pick
à e
(pour modifier):
e aaa222
pick aaa333
3) Revert changements à le mauvais fichier:
git show -- badfile.txt | git apply -R
4) Ajouter les changements & modifier la commettras:
git add badfile.txt
git commit --amend
5) Terminer le rebasage:
git rebase --continue
Duplicata de http://stackoverflow.com/questions/215718/reset-or-revert-a-specific-file-to-a-specific-revision-using-git/215768 – koppor
Étrange ... pourquoi le changement après toutes ces années? – VonC