0Pricing
Git & GitHub Professional Workflow · Lekcja

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 status

Usuń 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 status

Odrzuć 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 status

Odrzuć 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 status

Zmień 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-edit

Dlaczego 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 status

Szybkie 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

  1. Przygotowanie, commitowanie i historia
  2. Cofanie zmian lokalnych
  3. Podstawy gałęzi i scalania
  4. Przechowywanie pracy w toku
← Powrót do Git & GitHub Professional Workflow