Przypadkowo usunąłem cały katalog mojego kodu źródłowego ... z miłym rm -r. Wiem, naprawdę źle; ale na szczęście miałem repozytorium git w katalogu zawierającym. W związku z tym git ma ogromną listę zmian usuniętych plików niezaprogramowanych. Na przykład:Przywróć skasowany plik nie wystawiony w git
"deleted: src/caronmonitor/server.py"
Jak mogę odzyskać te pliki? Jest rada całej sieci zrobić:
git checkout file
lub
git revert <commit>
Ale jak rozumiem, że będzie przywrócić plik do jego stanu na ostatni popełnić. Nie chcę wracać do ostatniego zatwierdzenia, ale zamiast tego wracam na prawo przed operacją usuwania. Mogę zaglądać do gitk i widzieć moje pliki tak jak przed usunięciem; to musi być możliwe.
Czy wystawiłeś plik przed usunięciem? W przeciwnym razie git diff pokaże ci tylko stan ostatniego zatwierdzenia. – knittl
Nie były one wystawiane. Zepsułem się, mam na myśli gitka. Więc co znajduje się w gitku w sekcji "Lokalne niezatwierdzone zmiany, niezaznaczone do indeksu" to, co jest na ostatnim zatwierdzeniu? –