Git
Chapters ▾ 2nd Edition

3.3 Větve v systému Git - Správa větví

Správa větví

Když už jste vytvořili, sloučili a odstranili nějaké větve, podívejme se na pár nástrojů pro správu větví, které se vám při soustavném používání větví budou hodit.

Příkaz git branch umí víc, než jen vytvářet a mazat větve. Pokud ho spustíte bez dalších parametrů, získáte prostý výpis všech aktuálních větví:

$ git branch
  iss53
* master
  testing

Všimněte si znaku *, který je uveden před větví master. Označuje větev, na kterou jste přepnuti (check out; tj. větev, na kterou ukazuje HEAD). To znamená, že pokud teď zapíšete revizi, bude se s novou prací posunovat větev master. Chcete-li zobrazit poslední revizi na každé větvi, spusťte příkaz git branch -v:

$ git branch -v
  iss53   93b412c fix javascript issue
* master  7a98805 Merge branch 'iss53'
  testing 782fd34 add scott to the author list in the readmes

Užitečné volby --merged a --no-merged vám z tohoto seznamu umožní vyfiltrovat větve, které jste do aktuální větve buď začlenili, nebo dosud nezačlenili. Chcete-li zjistit, které větve už byly začleněny do větve, na níž se nacházíte, spusťte příkaz git branch --merged:

$ git branch --merged
  iss53
* master

Jelikož už jste větev iss53 začlenili, zobrazila se v seznamu. Větve, před kterými v seznamu není *, můžeme většinou bez problémů smazat příkazem git branch -d. Práci v nich vytvořenou už jste zahrnuli do jiné větve, takže o nic nepřijdete.

Pro zobrazení všech větví, které obsahují dosud nezačleněnou práci, spusťte příkaz git branch --no-merged:

$ git branch --no-merged
  testing

Tím se zobrazí jiná větev. Jelikož obsahuje práci, která ještě nebyla začleněna, bude pokus o její smazání příkazem git branch -d neúspěšný:

$ git branch -d testing
error: The branch 'testing' is not fully merged.
If you are sure you want to delete it, run 'git branch -D testing'.

Pokud opravdu chcete větev odstranit a zahodit práci, kterou obsahuje, můžete to vynutit parametrem -D  — jak napovídá užitečná zpráva pod chybovým hlášením.