git status to twoja pierwsza komenda przy każdym podejściu do repozytorium. Pokazuje, na jakiej gałęzi jesteś, co zmieniłeś od ostatniego commita, które pliki czekają już w poczekalni (staging area), a które Git w ogóle nie śledzi. Nic nie zmienia, niczego nie zapisuje — to czysty podgląd stanu. Zanim zrobisz git add albo git commit, rzuć tu okiem, żeby wiedzieć, co tak naprawdę za chwilę zacommitujesz.
Składnia i najważniejsze opcje
Podstawowa forma: git status [opcje]
-s(albo--short) — zwięzły, dwukolumnowy widok zamiast rozwlekłego opisu. Idealny, gdy chcesz szybki przegląd.-b(albo--branch) — dokłada informację o gałęzi i jej relacji do zdalnej (ahead/behind), nawet w trybie skróconym.-u[tryb](albo--untracked-files[=tryb]) — kontroluje pokazywanie nieśledzonych plików:no,normal(domyślnie),all.--ignored— pokazuje też pliki ignorowane przez.gitignore.--porcelain— format stabilny, przeznaczony dla skryptów (nie zmienia się między wersjami Gita).-v(albo--verbose) — dorzuca diff zmian, które są już w poczekalni.--show-stash— informuje, ile masz schowków (stash).
Przykłady użycia
git status— pełny, opisowy raport: gałąź, pliki staged, zmodyfikowane i nieśledzone wraz z podpowiedziami co dalej.git status -sb— kompaktowy widok z nagłówkiem gałęzi. Połączone flagi-si-bto klasyk do codziennej pracy.git status -uall— wylistuje pojedynczo wszystkie nieśledzone pliki, także te ukryte w nowych katalogach (domyślnie Git pokazuje tylko sam katalog).git status --ignored— przydatne, gdy zastanawiasz się, dlaczego jakiś plik nie trafia do repo — sprawdzisz, czy nie wpadł pod.gitignore.git status --porcelain— gdy chcesz sparsować wynik w skrypcie bashowym, np. policzyć zmienione pliki bez ryzyka, że Git zmieni formatkę.
Częste błędy i pułapki
Najczęstsza pomyłka to mylenie obu kolumn w trybie -s: lewa litera dotyczy poczekalni (staging), prawa drzewa roboczego. Plik może być częściowo dodany — MM oznacza, że masz zacommitowaną część zmian i jeszcze nowsze, niezestage’owane. Pamiętaj, że git status niczego nie naprawia ani nie zapisuje — to tylko raport, więc puszczanie go w kółko nie pomoże, dopóki nie zrobisz add czy commit. Nie myl też --short z --porcelain: wyglądają podobnie, ale tylko --porcelain ma gwarancję stabilnego formatu — w skryptach używaj jego, nie -s. I drobiazg: domyślnie nieśledzone pliki w nowym podkatalogu pokazują się jako sam katalog; jeśli czegoś nie widzisz, dorzuć -uall.
Powiązane komendy: git add, git commit, git diff, git log, git restore.