Větve umožňují pracovat na několika liniích vývoje v jednom projektu současně, aniž by si překážely. V článku zjistíte, co jsou větve a k čemu slouží, naučíte se je vytvářet a přepínat mezi nimi, slučovat změny a řešit konflikty pomocí nástrojů IDE. To jsou základy, díky kterým snáz pochopíte, co Claude Code dělá, když pracuje s vaším repozitářem v samostatné větvi.
Příklady a snímky rozhraní pocházejí z IDE JetBrains; názvy a umístění akcí se ve vaší verzi mohou lišit. Pro cvičení použijte samostatný výukový repozitář. V pracovním projektu dodržujte jeho pravidla pro větve, commitování a odesílání změn.
Co jsou větve a k čemu slouží
Větev pojmenovává samostatnou linii commitů. Jejím vytvořením se nekopíruje složka projektu ani se neukládají necommitované soubory. Při přepnutí Git v běžné pracovní složce upraví soubory podle zvolené větve; nedokončené změny mohou přejít s vámi, nebo přepnutí zablokovat.
Z hlavní větve main se oddělí nová větev feature/new-idea pro samostatnou linii vývoje. Po dokončení práce se sloučí zpět do main.
Představte si, že chcete ve svém projektu něco zásadně předělat nebo vyzkoušet riskantní změnu. Jak byste postupovali bez Gitu? Nejspíš byste zkopírovali celý projekt do nové složky a pracovali v ní. Pokud by se vám výsledek líbil, přesunuli byste ho do hlavní složky. Pokud ne, kopii byste jednoduše smazali.
Přirovnání ke kopii pomáhá představit si různé varianty práce, technicky je ale větev ukazatel na commit. Ukážeme si to na příkladu knihy:
- máte hotový rukopis (to je vaše hlavní větev
main); - chcete napsat alternativní konec (vytvoříte novou větev, například
feature/new-idea); - píšete nový konec, aniž zasáhnete do hlavního textu rukopisu (pracujete v nové větvi);
- pokud bude nový konec lepší, nahradíte jím původní (sloučíte větve pomocí
merge); - starý návrh s nepotřebným koncem můžete smazat (odstraníte větev).
Požádejte Claude Code, aby nejprve ukázal větev a stávající změny. Samostatnou větev vytvořte, pokud to odpovídá pravidlům projektu. Uložené commity vám dávají bod návratu; samotné smazání názvu větve nevrátí změny v souborech ani neobnoví původní stav.
Vytvoření nové větve a práce v ní
Krok 1. Otevřete nabídku větví.
Na hlavním panelu nástrojů vedle názvu projektu je widget zobrazující název aktuální větve (ve výchozím stavu main). Klikněte na něj a zvolte + New Branch.

Krok 2. Pojmenujte novou větev.
Dobrou praxí je pojmenovat větev podle úkolu, na kterém pracujete. Například feature/add-usage-examples.

Pokud při vytváření vyberete Checkout branch, IDE přepne na novou větev. Před úpravou souborů zkontrolujte její název ve widgetu.
Krok 3. Proveďte změny a vytvořte commit.
Přidejte do README.md sekci s příklady použití. Prohlédněte si změny a obvyklým způsobem vytvořte commit: v historii nové větve se objeví uložený snímek.

Když Claude Code navrhne vytvořit commit, udělá přesně to: zaznamená aktuální změny jako bod, ke kterému se můžete později vrátit. Než souhlasíte, přečtěte si zprávu commitu. Popisuje, co se mění, a snadno ji upravíte.
Přepínání mezi větvemi
Změny s příklady použití máte bezpečně uložené ve větvi feature/add-usage-examples. Vraťme se do hlavní větve main a podívejme se, co v ní je.
Krok 1. Znovu klikněte na widget s názvem aktuální větve v levém horním rohu.
Krok 2. V seznamu Local nebo Recent vyberte větev main a v zobrazené podnabídce klikněte na Checkout.

Krok 3. Zkontrolujte výsledek.
Po přepnutí otevřete soubor README.md. Sekci s příklady použití v něm nenajdete - zůstala v jiné větvi. Díky tomu můžete pracovat na nové funkci, aniž byste zasahovali do stabilní verze ve větvi main.

Slučování větví
merge spojí historii vybrané větve s aktuální. Pokud se main od odvětvení neposunula, může dojít k fast-forward: main se přesune na C3 bez nového commitu. Pokud se linie rozešly, běžné sloučení vytvoří commit se dvěma rodiči.
V tomto lineárním případě se main může přesunout na C3. Větev feature/add-usage-examples zatím také ukazuje na C3; její název kvůli sloučení mazat nemusíte.
Dokončili jste práci na svém úkolu ve větvi feature/add-usage-examples a chcete změny přidat do hlavního projektu.
Krok 1. Přepněte na cílovou větev.
Ujistěte se, že jste ve větvi, DO KTERÉ chcete změny přidat. V našem případě je to main.
Krok 2. Proveďte sloučení.
Znovu klikněte na widget správy větví. V seznamu vyberte větev, ZE KTERÉ chcete změny převzít (feature/add-usage-examples), a v podnabídce zvolte Merge 'feature/add-usage-examples' into 'main'.

Krok 3. Zkontrolujte výsledek.
V souboru README.md ve větvi main teď najdete svou novou sekci s příklady. Úspěšně jste sloučili svou práci s hlavní verzí projektu.

Konflikty při slučování
Konflikt znamená, že Git nedokázal změny sloučit automaticky. Často jde o různé úpravy stejných řádků; může také nastat, že se soubor v jedné větvi smaže a ve druhé upraví. Řešení závisí na požadovaném výsledku.
Právě tady se hodí vestavěné nástroje vašeho IDE (CLion nebo IntelliJ IDEA). Řešit konflikty v terminálu není zrovna radost, ale vestavěný nástroj pro třístranné sloučení (3-way merge) z toho udělá přehledný a jednoduchý postup.
Od společného předka C1 přibyly v obou větvích nové commity.Samotné rozvětvení historie konflikt nezaručuje: nastane, pokud Git nedokáže změny sloučit automaticky. V následujícím cvičení nahradí různé texty stejný původní řádek.
Pojďme konflikt nasimulovat:
- ujistěte se, že jste ve větvi
maina v okně Commit nemáte necommitované změny ani nové soubory; - vytvořte novou větev
feature/new-title, ale zatím na ni nepřepínejte. Zkontrolujte, že není zaškrtnutá volba Checkout branch; - zatímco jste stále ve větvi
main, změňte první řádek vREADME.mdna "My Awesome Project" a vytvořtecommit; - přepněte na větev
feature/new-title. První řádek vREADME.mdtu zůstal původní - odpovídá stavu souboru při vytvoření větve. Změňte tentýž řádek na "My Super Project" a vytvořtecommit; - vraťte se do větve
maina slučte do ní větevfeature/new-title.
Git teď zjistí, že se v obou historiích změnilo stejné místo. Zobrazí okno pro řešení konfliktu (Merge Conflicts).

Kliknutím na tlačítko Merge otevřete nástroj pro řešení konfliktů. Uvidíte v něm:
- vlevo (Your changes) - verzi souboru z aktuální větve, do které slučujete (
main); - vpravo (Changes from branch) - verzi souboru ze slučované větve;
- uprostřed (Result) - výslednou verzi souboru, kterou sestavíte ručně.

Kliknutím na šipky >> nebo << (případně na křížky pro odmítnutí) můžete přijmout jednu z verzí jako celek. Správný text můžete také napsat přímo do prostředního panelu.
Zkontrolujte výsledek v prostředním panelu a klikněte na Apply nebo na odpovídající tlačítko pro dokončení. Potom zkontrolujte stav Gitu: pokud sloučení ještě není commitnuté, vytvořte commit v IDE. Vyřešení konfliktních řádků a dokončení merge jsou dva různé kroky. Ověřte, že výsledný kód funguje správně.
Pokud při práci s Claude Code dojde ke konfliktu, nejde o selhání: Claude se může zastavit a požádat vás o pomoc nebo navrhnout, jak změny rozplést. Vyřešíte ho stejným třístranným nástrojem IDE jako běžný konflikt.
Proč někdy ke konfliktu nedojde
Pokud při cvičení konflikt nevznikne, zkontrolujte, od kterého commitu byla druhá větev vytvořena a zda obě strany opravdu nahradily stejný řádek odlišně. Git dokáže automaticky sloučit kompatibilní změny i v rozvětvené historii. Další možností je lineární historie, ve které může dojít k fast-forward:
Například:
- ve větvi
mainmáte nějaký commit (řekněme C1); - ve větvi
mainvytvoříte nový commit s textem "My Awesome Project". Větevmainteď ukazuje na commit C2; - z aktuální pozice větve
mainvytvoříte větevfeature/new-title- nová větev tedy také začíná na commitu C2; - ve větvi
feature/new-titlevytvoříte commit s textem "My Super Project". Větev postoupí a ukazuje na commit C3; - vrátíte se do větve
main(která stále ukazuje na commit C2) a sloučíte do nífeature/new-title.
Git vidí, že větev main je přímým předkem větve feature/new-title: zatímco jste pracovali v jiné větvi, v historii main nepřibyly žádné nové commity. Proto pouze posune ukazatel větve main na commit C3, bez konfliktů.
Historie větve main plynule navazuje na historii větve feature/new-title, takže Git pouze posune main dopředu - ke konfliktu nedojde.
Prohlížení historie změn
Historie projektu vám pomůže lépe pochopit, co se v něm děje.
Otevřete okno nástroje Git (obvykle ho najdete jako ikonu na levém postranním panelu nebo ve spodní části okna IDE) a na panelu nástrojů Git vyberte kartu Log nebo možnost Show Git Log. Zobrazí se graf všech vašich větví a commitů. Snadno tak uvidíte, ze které větve se která oddělila a kde se sloučily.

Kliknutím na libovolný commit zjistíte, jaké změny obsahuje, kdo a kdy ho vytvořil. Skutečný stroj času pro váš kód.
Změny Claude Code se v této historii objeví, až budou zaznamenané běžnými commity. V Git Logu je uvidíte stejně jako ty své: můžete otevřít libovolný commit a zkontrolovat, co přesně se změnilo.
Jak to funguje s Claude Code
Když už rozumíte větvím, snáz pochopíte, co Claude Code dělá při práci s vaším repozitářem. Tady je, jak vám s větvemi pomáhá a čemu věnovat pozornost:
- vytvoří samostatnou větev, pokud s tím počítají úkol i pravidla projektu;
- v důležitých chvílích navrhne
commit- prohlédnete si diff a rozhodnete se, zda ho přijmete, nebo upravíte; - pomůže najít potřebný uložený commit a zvolit způsob návratu s ohledem na necommitované změny;
- když při slučování dojde ke konfliktu, může vás požádat o pomoc - vyřešíte ho stejným nástrojem IDE;
- umí připravit a okomentovat pull request (PR je návrh na sloučení větve do hlavní, například pomocí GitHub CLI).
Než souhlasíte, prohlédněte si diff - zvlášť když Claude navrhuje smazat soubory nebo provést merge. Budete tak vždy vědět, co přesně se dostane do historie projektu.
Předchozí článek: Každodenní práce s Gitem · Následující článek: Pull request od vytvoření po sloučení
GO TO FULL VERSION