git branch to scyzoryk do zarządzania gałęziami w repozytorium Git. Bez żadnych argumentów po prostu wypisuje listę lokalnych gałęzi i gwiazdką zaznacza tę, na której aktualnie siedzisz. Dodasz nazwę — utworzysz nową gałąź (ale na nią nie przeskoczysz!). Dorzucisz odpowiednią flagę — usuniesz, zmienisz nazwę albo podejrzysz gałęzie zdalne. To komenda, którą wpisujesz dziesiątki razy dziennie, więc warto ją znać na pamięć.
Składnia i najważniejsze opcje
Podstawowa forma: git branch [opcje] [
-a— wypisuje wszystkie gałęzie, lokalne i zdalne (te z prefiksemremotes/).-r— pokazuje wyłącznie gałęzie zdalne (remote-tracking).-v— tryb gadatliwy: przy każdej gałęzi pokaże ostatni commit (a-vvdorzuci powiązaną gałąź zdalną).-d— usuwa gałąź, ale tylko jeśli została już zmergowana (bezpieczny tryb).-D— usuwa gałąź na siłę, nawet niezmergowaną. Bez litości.-m— zmienia nazwę gałęzi (bez podania starej zmienia bieżącą).--merged/--no-merged— filtruje listę do gałęzi już wmergowanych albo jeszcze nie.-l '— listuje gałęzie pasujące do wzorca, np.' feature/*.
Przykłady użycia
git branch— wypisuje lokalne gałęzie i pokazuje, na której jesteś.git branch nowa-funkcja— tworzy gałąź nowa-funkcja od bieżącego commita (ale Cię na nią nie przełącza).git branch -a— pokazuje pełną listę: lokalne plus wszystkie zdalne.git branch -d stara-funkcja— kasuje zmergowaną gałąź, sprzątając po skończonej pracy.git branch --merged main— pokazuje gałęzie już wlane do main, czyli kandydatów do usunięcia.
Częste błędy i pułapki
Najczęstsza wpadka: git branch nazwa tworzy gałąź, ale nie przełącza Cię na nią — dalej commitujesz tam, gdzie byłeś. Żeby od razu przeskoczyć, użyj git switch -c nazwa albo starszego git checkout -b nazwa.
Druga pułapka: -d krzyknie błędem przy niezmergowanej gałęzi — to nie awaria, tylko zabezpieczenie przed utratą pracy. Sięgaj po -D dopiero, gdy masz pewność, że tych commitów nie potrzebujesz, bo odzyskanie ich wymaga grzebania w git reflog.
Pamiętaj też, że git branch -d usuwa tylko lokalną kopię. Gałąź na serwerze kasujesz osobno przez git push origin --delete nazwa. A lista po -a potrafi pokazywać nieaktualne gałęzie zdalne, dopóki nie odświeżysz stanu przez git fetch --prune.
Powiązane komendy: git switch, git checkout, git merge, git push, git fetch, git log.