Cofanie zmian lokalnych
Poznaj różne sposoby wycofywania lub resetowania zmian lokalnych, w tym usuwania plików z obszaru przechowalni i modyfikowania wcześniejszych commitów.
Cofanie zmian lokalnych to bezpłatna lekcja Git & GitHub Professional Workflow na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Git & GitHub Professional Workflow, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Git & GitHub Professional Workflow zawiera 4 lekcji w sumie.
Ups! Cofanie zmian lokalnych
Zdarzyło Ci się popełnić błąd albo zmienić zdanie podczas pracy nad projektem? Nie martw się, to przydarza się każdemu!
Git udostępnia zaawansowane narzędzia do cofania zmian w lokalnym repozytorium. W tej lekcji pokażemy, jak bezpiecznie cofać niechciane modyfikacje.
Zawsze zacznij od `git status`
Zanim cofniesz jakiekolwiek zmiany, musisz znać bieżący stan repozytorium. W tym przypadku najlepszym pomocnikiem jest polecenie git status.
Informuje ono, które pliki zostały zmodyfikowane, umieszczone w obszarze przechowywania (gotowe do zatwierdzenia) lub są nieśledzone.
git statusUsuń plik z obszaru przechowywania
Czasami dodasz plik do obszaru przechowywania za pomocą git add, a następnie zorientujesz się, że nie chcesz uwzględniać go w następnym commicie.
Możesz usunąć go z obszaru przechowywania, przywracając go do stanu zmodyfikowanego (nieprzygotowanego), za pomocą git restore --staged <file>.
git add my_feature.js
git status
git restore --staged my_feature.js
git statusOdrzuć zmiany w katalogu roboczym (plik)
Co zrobić, jeśli zmodyfikowałeś plik w katalogu roboczym, ale nie umieściłeś go w obszarze przechowywania i chcesz całkowicie odrzucić te zmiany?
Polecenie git restore <file> przywróci plik do stanu z ostatniego commitu, skutecznie usuwając lokalne modyfikacje.
echo "new content" > index.html
git status
git restore index.html
git statusOdrzuć wszystkie niezatwierdzone zmiany
Zachowaj ostrożność! Jeśli chcesz odrzucić wszystkie zmiany w katalogu roboczym, które nie zostały jeszcze zatwierdzone, możesz użyć polecenia git restore .
Spowoduje to przywrócenie wszystkich zmodyfikowanych plików w bieżącym katalogu i jego podkatalogach do stanu z ostatniego commitu. Niezapisane zmiany zostaną utracone!
echo "change 1" > file1.txt
echo "change 2" > file2.txt
git status
git restore .
git statusZmień opis ostatniego commitu
Literówka w opisie ostatniego commitu? A może brak ważnej informacji?
Możesz zmienić opis ostatniego commitu za pomocą git commit --amend. To polecenie otworzy domyślny edytor tekstu, w którym zmodyfikujesz opis.
git commit --amend -m "Updated commit message with fix"Dodaj brakujące pliki przez zmianę commitu
Nie udało Ci się uwzględnić pliku w ostatnim commicie? Żaden problem!
Umieść pominięte pliki w obszarze przechowywania za pomocą git add, a następnie użyj git commit --amend --no-edit. Spowoduje to dodanie przygotowanych plików do poprzedniego commitu bez zmiany jego opisu.
git add new_script.py
git commit --amend --no-editDlaczego warto używać `git restore`
Możesz natrafić na starsze poradniki sugerujące użycie git reset HEAD <file> do usuwania plików z obszaru przechowywania lub git checkout -- <file> do odrzucania zmian.
Choć te polecenia działają, git restore jest nowszym i bardziej intuicyjnym poleceniem, wprowadzonym po to, aby te operacje były wyraźniejsze i bezpieczniejsze. Zostało zaprojektowane specjalnie do cofania zmian.
Połączmy wszystko: scenariusz
Wyobraź sobie, że modyfikujesz plik config.json, umieszczasz go w obszarze przechowywania, a następnie zauważasz błąd i chcesz całkowicie odrzucić zmianę.
- Najpierw usuń plik z obszaru przechowywania.
- Następnie przywróć go do ostatniej zatwierdzonej wersji.
echo "bad config" > config.json
git add config.json
git status
git restore --staged config.json
git restore config.json
git statusSzybkie sprawdzenie: cofanie zmian
Zmodyfikowałeś plik data.csv w katalogu roboczym, ale nie umieściłeś tych zmian w obszarze przechowywania. Chcesz całkowicie odrzucić modyfikacje i przywrócić plik data.csv do stanu z ostatniego commitu.
Podsumowanie: opanuj cofanie zmian
Świetna robota! Wiesz już, jak bezpiecznie cofać lokalne zmiany w Git:
- Użyj
git status, aby wyświetlić bieżące zmiany. - Użyj
git restore --staged <file>, aby usunąć pliki z obszaru przechowywania. - Użyj
git restore <file>, aby odrzucić zmiany w katalogu roboczym dotyczące konkretnego pliku. - Użyj
git restore ., aby odrzucić wszystkie nieprzygotowane zmiany w katalogu roboczym (zachowaj ostrożność!). - Użyj
git commit --amend, aby poprawić opis ostatniego commitu lub dodać brakujące pliki.
Te polecenia są niezbędne do utrzymania przejrzystej i dokładnej historii projektu!
Często zadawane pytania
Czy lekcja „Cofanie zmian lokalnych” jest bezpłatna?
Tak — pełny tekst „Cofanie zmian lokalnych” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Git & GitHub Professional Workflow, przejdź na CoddyKit PRO. Kurs Git & GitHub Professional Workflow zawiera 4 lekcji w sumie.
Co nauczysz się w „Cofanie zmian lokalnych”?
Poznaj różne sposoby wycofywania lub resetowania zmian lokalnych, w tym usuwania plików z obszaru przechowalni i modyfikowania wcześniejszych commitów. Ćwiczysz Git & GitHub Professional Workflow z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Git & GitHub Professional Workflow?
Nie wymagamy żadnego doświadczenia. Git & GitHub Professional Workflow w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „Cofanie zmian lokalnych”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Git & GitHub Professional Workflow?
Tak. Każda lekcja Git & GitHub Professional Workflow zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Przygotowanie, commitowanie i historia
- Cofanie zmian lokalnych
- Podstawy gałęzi i scalania
- Przechowywanie pracy w toku