Próbuję cofnąć wszystkie zmiany od czasu ostatniego zatwierdzenia. Próbowałem git reset --hard
i git reset --hard HEAD
po obejrzeniu tego postu . Odpowiadam, że głowa jest teraz na 18c3773 ... ale kiedy patrzę na moje lokalne źródło, wszystkie pliki wciąż tam są. czego mi brakuje?
git
command-line
undo
git-reset
Antarr Byrd
źródło
źródło
Odpowiedzi:
Spowoduje to wycofanie ze sceny wszystkich plików, które mogły zostać przetworzone
git add
:Spowoduje to cofnięcie wszystkich lokalnych niezatwierdzonych zmian (należy je wykonać w katalogu głównym repo):
Możesz także przywrócić niezatwierdzone zmiany tylko do określonego pliku lub katalogu:
Jeszcze inny sposób na przywrócenie wszystkich niezatwierdzonych zmian (dłuższy do pisania, ale działa z dowolnego podkatalogu):
Spowoduje to usunięcie wszystkich lokalnych nieśledzonych plików, więc pozostaną tylko pliki śledzone przez git:
Podsumowując: wykonywanie poniższych poleceń jest zasadniczo równoważne świeżemu
git clone
z oryginalnego źródła (ale niczego nie pobiera ponownie, więc jest znacznie szybsze):Typowym zastosowaniem tego są skrypty kompilacji, gdy musisz upewnić się, że twoje drzewo jest absolutnie czyste - nie ma żadnych modyfikacji ani lokalnie tworzonych plików obiektowych ani kompilacji artefaktów, a chcesz, aby działało ono bardzo szybko i nie powodowało ponownego klonuj całe repozytorium za każdym razem.
źródło
git clean
, spowoduje to cofnięcie niezatwierdzonych zmian, ale zachowa wszystkie nieśledzone lub dodane pliki. Może to jednak wpłynąć na wynik kompilacji, ponieważ niektóre nieśledzone pliki mogą zakłócać działanie. Np. Co jeśli twój katalog .idea był uszkodzony?git reset
mówi mi, że mam zmiany, które muszę zapisaćgit clean -fdx
node_modules
.env
Jeśli chcesz „ cofnąć ” wszystkie niezatwierdzone zmiany, po prostu uruchom:
Jeśli masz jakieś nieśledzone pliki (sprawdź, uruchamiając
git status
), można je usunąć, uruchamiając:git stash
tworzy nową skrytkę, która stanie się skrytką @ {0} . Jeśli chcesz najpierw sprawdzić, możesz uruchomić,git stash list
aby zobaczyć listę swoich skrytek. Będzie to wyglądać mniej więcej tak:Każda skrytka nosi nazwę po poprzednim komunikacie zatwierdzenia.
źródło
git add .
wcześniej,git stash
ponieważ pokazywało mi to nieproszone zmiany nawet pogit stash
jest też
git stash
- który „ukrywa” twoje lokalne zmiany i może być ponownie zastosowany później lub usunięty, jeśli nie jest już wymaganywięcej informacji o składowaniu
źródło
Korzystam z drzewa źródeł .... Możesz cofnąć wszystkie niezatwierdzone zmiany, wykonując 2 proste kroki:
1) wystarczy zresetować status pliku obszaru roboczego
2) wybierz wszystkie pliki sceniczne (polecenie + a), kliknij prawym przyciskiem myszy i wybierz usuń
To takie proste: D
źródło
To co robię jest
Jedna wkładka:
git add . && git stash && git stash drop
źródło
Dla tych, którzy tu dotarli, szukając możliwości cofnięcia
git clean -f -d
, przez co plik utworzony w środowisku Eclipse został usunięty,Możesz zrobić to samo z poziomu interfejsu użytkownika, używając polecenia „Przywróć z historii lokalnej” dla odwołania: Przywróć z historii lokalnej
źródło
Państwa przechodzące z jednego zatwierdzenia do nowego zatwierdzenia
Działanie na rzecz zmiany stanu
Sprawdź różnicę
Cofnij do ostatniego zatwierdzenia
Odpowiednik git clone, bez ponownego pobierania czegokolwiek
źródło