Mam repozytorium zawierające dwa pliki, które podobno zmieniłem lokalnie.
Więc utknąłem z tym:
$ 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")
Doing git diff
mówi, że zmieniła się cała zawartość pliku, mimo że patrząc na to, wydaje się to nieprawdą (wydaje się, że istnieją wspólne zakresy linii, których diff wydaje się nie widzieć).
Co ciekawe, nie pamiętam, żebym zmieniał te pliki lokalnie. To repozytorium jest używane z jednym zdalnym repozytorium (prywatnym, na GitHub.com, FWIW).
Bez względu na to, co próbowałem, nie mogę odrzucić tych lokalnych zmian. Wypróbowałem wszystkie:
$ 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
Innymi słowy, wypróbowałem wszystko, co opisano w sekcji Jak odrzucić zmiany niestacjonarne w Git? plus więcej. Ale te 2 pliki pozostają zablokowane jako „zmienione, ale niezatwierdzone”.
Co do cholery spowodowałoby, że dwa pliki utknęłyby w ten sposób i pozornie „cofnęły-tabelę”?
PS Na powyższej liście pokazującej polecenia, które już wypróbowałem, omyłkowo napisałem, git revert
kiedy miałem na myśli git checkout
. Przepraszam i dziękuję tym z Was, którzy odpowiedzieli, że powinienem spróbować checkout
. Zredagowałem pytanie, aby je poprawić. Zdecydowanie już próbowałem checkout
.
git diff --ignore-space-change
lubgit diff --ignore-all-space
dokonać zmian w wyjściugit diff
?