2010-11-19 7 views
5

To jest frustrujące i po prostu nie mogę znaleźć właściwej odpowiedzi, jak sobie z tym poradzić. Jestem po przebraniu [ale jest to tylko jeden z wielu scenariuszy, w których ten problem występuje] i mam mnóstwo plików "zmienionych, ale nie zaktualizowanych", które nie mają różnicy, ale dla znaków nowej linii.Jak usunąć niezapisane zmiany [różnica wierszy znaków] w git?

git diff -b 

nic nie wróciło.

Teraz po prostu chcę usunąć zmiany i pozostawić pliki tak, jak są w repozytorium. ja było wiele "roztwory":

1 stashing zmienia
a) o wskaźniku [--keep to faktycznie od SO]

$ git stash save --keep-index 
Saved working directory and index state WIP on COM-23: 4a8abc1 COM-23 changed pa 
ckage name 
HEAD is now at 4a8abc1 COM-23 changed package name 

$ git stash drop 
Dropped refs/[email protected]{0} (7d822e3c6bdc310f4a4be90ed937dd0ea97df627) 

$ git status 
[tons of files marked as changed but not updated] 

b) bez --keep wskaźniku
dokładnie tak samo jak z 'a'

2 git zresetować
a) tylko reset

git reset --hard HEAD 

jw

b) z dodać

git add -A 
git reset --hard HEAD 

samo jak powyżej

3 kasie

git checkout 

sam jak powyżej, status zwraca wiele plików Unstaged.

Jestem całkowicie pewny, że robię coś złego lub po prostu nie rozumiem problemu, ale chcę tylko pozbyć się zmian nieopublikowanych! Jak mogę to zrobić?

Dzięki, Krystian

+4

odjazdu 'git config core.autocrlf'. Najlepiej ustawić go na "false". Po zmianie tej wartości nadal możesz potrzebować 'git reset --hard', ponieważ musisz zsynchronizować ustawienia nowego edytora edytora z ustawieniami Git. –

+0

To wszystko! Wpisz to jako odpowiedź, a ja z radością go oznaczę, ponieważ uważam, że nie jestem jedynym, który ma uszkodzony element konfiguracyjny! – Krystian

+0

zrobione. Cieszę się, że mogłem pomóc. –

Odpowiedz

9

odjazdu git config [--global] core.autocrlf. Najlepiej ustawić go na false. Po zmianie tej wartości nadal możesz potrzebować git reset --hard, ponieważ musisz zsynchronizować ustawienia nowego wiersza edytora z ustawieniami Git.

0

Użyj git chash, gdy chcesz nagrać bieżący stan katalogu roboczego i indeksu, ale chcesz wrócić do czystego katalogu roboczego. Polecenie zapisuje lokalne modyfikacje i przywraca katalog roboczy, aby pasował do zatwierdzenia HEAD.

Wykonaj to.

git stash save --keep-index 

i jeśli chcesz usunąć ten zmienia całkowicie następnie upuść the Stash

git stash drop