Git: Usuwanie niepotrzebnych gałęzi

Podczas pracy z Gitem z czasem na komputerze deweloperskim może urosnąć duża lista niepotrzebnych gałęzi. Dzieje się tak dlatego, że realizacja pull-requesta na serwerze usuwa gałąź scalaną z gałęzią główną, ale nie dzieje się to już na komputerze dewelopera. Istnieje jednak stosunkowo łatwy sposób na wyznaczenie tych gałęzi, które nie mają swojego odpowiednika na serwerze.

Najpierw wywołujemy polecenie:

git fetch -p

Git zaktualizuje wtedy stan lokalnych gałęzi według tego, co obecnie znajduje się na serwerze. Teraz wywołujemy kolejne polecenie:

git branch -vv

Otrzymamy wówczas listę wszystkich gałęzi wraz z dodatkowymi informacjami na ich temat, na przykład:

develop                     123456789abc [origin/develop: behind 64] Commit 1
feature/some-feature        193001835021 [origin/feature/some-feature] Commit 2
feature/some-other-feature  2840fc0239fc [origin/feature/some-other-feature: gone] Commit 3

Gałęzie lokalne są zwykle powiązane z konkretnymi gałęziami na serwerze – są one wymienione w kwadratowych nawiasach. Jeżeli jednak nazwa zdalnej gałęzi ma etykietkę „gone”, oznacza to, że została ona już tam usunięta. W większości przypadków lokalną gałąź, która nie ma już swojego zdalnego odpowiednika można swobodnie usunąć.