Menu
Coddy logo textTech

Git Diff

Ostatnia aktualizacja

git diff pokazuje dokładne zmiany, linia po linii, między dwoma stanami repozytorium. Bez argumentów pokazuje to, co zmieniasz, ale czego jeszcze nie dodano do poczekalni. Dodaj --staged, żeby zobaczyć zawartość poczekalni, podaj dwa commity albo dwie gałęzie, żeby je porównać, albo podaj plik, żeby zawęzić wynik.

Wypróbuj te polecenia w terminalu online: prawdziwa powłoka w przeglądarce, bez żadnej instalacji.

git diff pokazuje dokładnie, które wiersze zmieniły się między dwoma stanami: usunięte i dodane.

Składnia

PolecenieCo robi
git diffZmiany spoza poczekalni względem indeksu
git diff --stagedZmiany w poczekalni względem ostatniego commita
git diff HEADWszystkie zmiany od ostatniego commita
git diff main featureRóżnica między dwiema gałęziami
git diff <hash1> <hash2>Różnica między dwoma commitami
git diff -- file.txtZmiany w jednym pliku

Typowe przypadki

CelPolecenie
Zobaczyć, co zaraz trafi do commitagit diff --staged
Zobaczyć niezatwierdzoną pracęgit diff
Porównać swoją gałąź z maingit diff main
Tylko nazwy zmienionych plikówgit diff --name-only

Najczęstsze pytania o git diff

Co domyślnie pokazuje git diff?
Bez argumentów git diff pokazuje zmiany w katalogu roboczym, których jeszcze nie ma w poczekalni, czyli to, co edytujesz od ostatniego git add. Żeby zobaczyć to, co już jest w poczekalni (i trafi do następnego commita), użyj git diff --staged; żeby zobaczyć wszystko od ostatniego commita, użyj git diff HEAD.
Czym różni się git diff od git diff --staged?
git diff porównuje katalog roboczy z poczekalnią (zmiany spoza poczekalni). git diff --staged (także --cached) porównuje poczekalnię z ostatnim commitem (zmiany w poczekalni). Razem pokazują obie połowy twojej niezatwierdzonej pracy.
Jak porównać dwie gałęzie albo dwa commity?
Podaj je: git diff main feature pokazuje, czym różnią się dwie gałęzie, a git diff <hash1> <hash2> porównuje dwa commity. Dopisz na końcu -- <file>, żeby ograniczyć porównanie do jednego pliku.
Jak zobaczyć tylko listę zmienionych plików, bez pełnego diffa?
Użyj git diff --name-only, żeby zobaczyć same nazwy plików, albo git diff --stat, żeby dostać podsumowanie z każdym plikiem i liczbą zmienionych linii. Przydaje się to do szybkiego przeglądu przed czytaniem pełnego diffa linia po linii.
Czy mogę to przećwiczyć online?
Tak. Otwórz terminal online i uruchom git diff w prawdziwej powłoce w przeglądarce, bez żadnej instalacji. Darmowy interaktywny kurs Git w Coddy też krok po kroku omawia przeglądanie zmian.
Ilustracja języków programowania w Coddy

Ucz się Gita z Coddy

ZACZNIJ