J'ai un repo qui contient deux fichiers que j'ai soi-disant modifiés localement.
Je suis donc coincé avec ça :
$ git status
# On branch master
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: dir1/foo.aspx
# modified: dir2/foo.aspx
#
no changes added to commit (use "git add" and/or "git commit -a")
Faire git diff
indique que l'ensemble du contenu du fichier a changé, même si, à l'œil nu, cela semble faux (il semble y avoir des plages de lignes communes que diff ne semble pas voir).
Il est intéressant de noter que je ne me souviens pas avoir modifié ces fichiers localement. Ce repo est utilisé avec un repo distant (privé, sur GitHub.com, FWIW).
J'ai beau essayer, je ne parviens pas à me débarrasser de ces modifications locales. J'ai essayé tous les :
$ git checkout -- .
$ git checkout -f
$ git checkout -- dir1/checkout_receipt.aspx
$ git reset --hard HEAD
$ git stash save --keep-index && git stash drop
$ git checkout-index -a -f
En d'autres termes, j'ai essayé tout ce qui est décrit dans le document Comment supprimer les modifications non mises à jour dans Git ? et plus encore. Mais les deux fichiers restent bloqués en tant que "modifiés mais non validés".
Qu'est-ce qui peut bien faire que deux fichiers soient bloqués de la sorte et que l'on ait l'impression qu'il faut "déréviser la table" ?
P.S. Dans la liste ci-dessus des commandes que j'ai déjà essayées, j'ai écrit par erreur git revert
alors que je voulais dire git checkout
. Je suis désolée et je remercie ceux qui m'ont répondu que je devais essayer. checkout
. J'ai édité la question pour la corriger. Il est certain que j'ai déjà essayé checkout
.