Vetvy sú spôsob, ako viesť niekoľko línií práce v jednom projekte súbežne, bez toho, aby si prekážali. V tomto článku pochopíte, čo sú vetvy a načo slúžia, naučíte sa ich vytvárať, prepínať medzi nimi, zlučovať zmeny a pokojne riešiť konflikty pri zlúčení pomocou nástrojov IDE. Je to práve ten základ, ktorý potrebujete, aby ste rozumeli, čo robí Claude Code, keď pracuje s vaším repozitárom v samostatnej vetve.
Príklady a snímky rozhrania sa týkajú IDE JetBrains; názvy a umiestnenie akcií sa vo vašej verzii môžu líšiť. Na cvičenia použite samostatný cvičný repozitár. V pracovnom projekte dodržiavajte jeho pravidlá pre vetvy, commity a odosielanie zmien.
Čo sú vetvy a načo slúžia
Vetva dáva meno samostatnej línii commitov. Vytvorenie vetvy nekopíruje priečinok projektu a neuloží necommitnuté súbory. V bežnom pracovnom priečinku Git pri prepnutí zmení súbory podľa vybranej vetvy; nedokončené zmeny sa môžu presunúť s vami alebo prepnutiu zabrániť.
Z hlavnej vetvy main odbočuje nová vetva feature/new-idea pre samostatnú líniu vývoja. Po dokončení práce sa zlúči späť do main.
Predstavte si, že chcete niečo vážne prerobiť vo svojom projekte alebo urobiť riskantný experiment. Ako by ste postupovali bez Gitu? Pravdepodobne by ste celý projekt skopírovali do nového priečinka a pracovali v ňom. Ak by sa vám výsledok páčil, preniesli by ste ho do hlavného priečinka. Ak nie, kópiu by ste jednoducho zmazali.
Analógia s kópiou je užitočná na pochopenie samostatných variantov práce, ale technicky je vetva ukazovateľ na commit. Ukážme si to na príklade knihy:
- máte hotový rukopis (to je vaša hlavná vetva
main); - chcete napísať alternatívny záver (vytvoríte novú vetvu, napríklad
feature/new-idea); - píšete nový záver bez toho, aby ste sa dotkli hlavného textu rukopisu (pracujete v novej vetve);
- ak bude nový záver lepší, nahradíte ním starý (urobíte zlúčenie vetiev -
merge); - starý koncept s nepotrebným záverom môžete zmazať (odstránite vetvu).
Požiadajte Claude Code, aby najprv ukázal vetvu a existujúce zmeny. Samostatná vetva sa vytvára, ak to zodpovedá pravidlám projektu. Uložené commity dávajú bod návratu; samotné zmazanie mena vetvy neruší úpravy súborov a neobnoví pôvodný stav.
Vytvorenie novej vetvy a práca v nej
Krok 1. Otvorte ponuku správy vetiev.
Na hlavnom paneli nástrojov, vedľa názvu projektu, sa nachádza widget zobrazujúci meno aktuálnej vetvy (predvolene main). Kliknite naň a vyberte + New Branch.

Krok 2. Meno novej vetvy.
Dobrá prax je pomenovať vetvy podľa úlohy, ktorú riešite. Napríklad feature/add-usage-examples.

Ak je pri vytváraní vybrané Checkout branch, IDE prepne na novú vetvu. Skontrolujte jej meno vo widgete pred úpravou súborov.
Krok 3. Vykonajte a commitnite zmeny.
Pridajte do README.md časť s príkladmi použitia. Prezrite si zmeny a urobte commit bežným spôsobom: v histórii novej vetvy sa objaví uložený snímok.

Keď Claude Code navrhne urobiť commit, robí presne toto - zaznamená aktuálne zmeny ako bod, ku ktorému sa neskôr môžete vrátiť. Pred súhlasom si prečítajte správu commitu: opisuje, čo sa mení, a ľahko sa dá opraviť.
Prepínanie medzi vetvami
Vaše zmeny s príkladmi použitia sú teraz bezpečne uložené vo vetve feature/add-usage-examples. Vráťme sa do hlavnej vetvy main a pozrime sa, čo je tam.
Krok 1. Znova kliknite na widget s menom aktuálnej vetvy v ľavom hornom rohu.
Krok 2. V zozname Local alebo Recent vyberte vetvu main a v zobrazenom podmenu kliknite na Checkout.

Krok 3. Skontrolujte výsledok.
Hneď ako prepnete, otvorte súbor README.md. Uvidíte, že časť s príkladmi použitia v ňom chýba - zostala v inej vetve. Takto môžete pracovať na novej funkcionalite bez toho, aby ste sa dotkli stabilnej verzie vo vetve main.

Zlúčenie vetiev
merge spája históriu vybranej vetvy s aktuálnou. Ak sa main od vzniku novej vetvy neposunula, je možný fast-forward: main sa presunie k C3 bez nového commitu. Ak sa línie rozišli, bežné zlúčenie vytvorí commit s dvoma rodičmi.
V ukázanom lineárnom prípade sa main môže presunúť k C3. Vetva feature/add-usage-examples zatiaľ tiež ukazuje na C3; jej meno netreba pre zlúčenie mazať.
Takže ste dokončili prácu na svojej úlohe vo vetve feature/add-usage-examples a chcete tieto zmeny pridať do hlavného projektu.
Krok 1. Prepnite sa na cieľovú vetvu.
Uistite sa, že ste v tej vetve, KAM chcete pridať zmeny. V našom prípade je to main.
Krok 2. Vykonajte zlúčenie.
Znova kliknite na widget správy vetiev. V zozname vyberte vetvu, ODKIAĽ chcete zobrať zmeny (feature/add-usage-examples), a v podmenu vyberte Merge 'feature/add-usage-examples' into 'main'.

Krok 3. Skontrolujte výsledok.
Teraz sa v súbore README.md vo vetve main objavila vaša nová časť s príkladmi. Úspešne ste spojili svoju prácu s hlavnou verziou projektu.

Konflikty pri zlúčení
Konflikt znamená, že Git nedokázal automaticky spojiť zmeny. Častým prípadom sú odlišné úpravy tých istých riadkov; býva to aj zmazanie súboru v jednej vetve a jeho zmena v druhej. Riešenie sa vyberá podľa požiadaviek na výsledok.
A práve tu sa ukáže celá sila zabudovaných nástrojov vašej IDE (CLion alebo IntelliJ IDEA). Riešiť konflikty v termináli nie je práve zábava, ale zabudovaný nástroj trojstranného zlúčenia (3-way merge) z toho urobí prehľadný a jednoduchý proces.
Od spoločného predka C1 pribudli v oboch vetvách nové commity. Samotné rozvetvenie histórie konflikt negarantuje: vzniká, ak Git nedokáže automaticky zosúladiť zmeny. V cvičení nižšie rôzne texty nahrádzajú jeden pôvodný riadok.
Simulujme konflikt:
- uistite sa, že ste vo vetve
maina nemáte necommitnuté zmeny ani nové súbory v okne Commit; - vytvorte novú vetvu
feature/new-title, ale zatiaľ sa na ňu neprepínajte. Uistite sa, že políčko Checkout branch nie je začiarknuté; - teraz, keď ste vo vetve
main, zmeňte prvý riadok vREADME.mdna "My Awesome Project" a urobtecommit; - prepnite sa na vetvu
feature/new-title. Uvidíte, že prvý riadok vREADME.mdtu zostal starý - je to stav súboru v čase vytvorenia vetvy. Zmeňte ten istý riadok na "My Super Project" a urobtecommit; - vráťte sa do vetvy
maina vykonajte zlúčenie sfeature/new-title.
Teraz Git zistí, že obe histórie boli zmenené na tom istom mieste. Zobrazí vám okno na riešenie konfliktu (Merge Conflicts).

Kliknite na tlačidlo Merge, aby ste otvorili nástroj na riešenie konfliktov. Čo tu vidíte:
- vľavo (Your changes) - verzia súboru z vašej aktuálnej vetvy (kam zlučujete,
main); - vpravo (Changes from branch) - verzia súboru z vetvy, ktorú zlučujete;
- v strede (Result) - výsledná verzia súboru, ktorú musíte zostaviť ručne.

Môžete klikať na šípky >> alebo << (alebo na krížiky na zrušenie), aby ste prijali celý jeden alebo druhý variant. Alebo môžete jednoducho napísať správny text priamo v strednom paneli.
Skontrolujte výsledok v strednom paneli a kliknite na Apply alebo príslušné tlačidlo dokončenia. Potom sa pozrite na stav Gitu: ak zlúčenie ešte nie je zaznamenané, vykonajte commit cez IDE. Vyriešenie riadkov konfliktu a dokončenie merge sú rôzne kroky. Skontrolujte správanie výsledného kódu.
Ak konflikt vznikne pri práci s Claude Code, nie je to zlyhanie: Claude sa môže zastaviť a požiadať o vašu pomoc alebo navrhnúť, ako zmeny rozmotať. Rieši sa tým istým trojstranným nástrojom IDE ako bežný konflikt.
Prečo niekedy konflikt nevznikne
Ak v cvičení konflikt nevznikne, skontrolujte, z ktorého commitu je vytvorená druhá vetva a či obe strany naozaj odlišne nahradili ten istý riadok. Git dokáže automaticky spájať kompatibilné úpravy aj vo vetvách, ktoré sa rozišli. Iný variant je lineárna história, v ktorej je možný fast-forward:
Príklad:
- máte nejaký commit vo vetve
main(povedzme C1); - urobíte nový commit vo vetve
mains textom "My Awesome Project". Vetvamainteraz ukazuje na commit C2; - vytvoríte vetvu
feature/new-titlez aktuálnej pozíciemain- nová vetva tiež začína commitom C2; - urobíte commit vo vetve
feature/new-titles textom "My Super Project". Táto vetva sa posunie vpred a ukazuje na commit C3; - vrátite sa do vetvy
main(ktorá je stále na commite C2) a zlúčitefeature/new-title.
Git vidí, že vetva main je priamym predkom vetvy feature/new-title: v histórii main nepribudli žiadne nové commity, kým ste pracovali v inej vetve. Preto jednoducho pretočí ukazovateľ main vpred až na commit C3, bez konfliktov.
História main pokračuje históriou feature/new-title bez rozvetvenia, takže Git jednoducho pretočí main vpred - konflikt nevzniká.
Prezeranie histórie zmien
Aby ste lepšie rozumeli tomu, čo sa deje vo vašom projekte, je užitočné pozrieť sa na jeho históriu.
Otvorte okno nástroja Git (zvyčajne ikona na ľavom bočnom paneli alebo v dolnej časti okna IDE) a vyberte kartu Log alebo Show Git Log na paneli nástrojov Git. Uvidíte grafické znázornenie všetkých vašich vetiev a commitov. Pomôže vám to prehľadne sledovať, ktorá vetva sa od ktorej odčlenila a kde sa zlúčili.

Tu môžete kliknúť na ľubovoľný commit a zistiť, aké zmeny obsahuje, kto a kedy ho urobil. Je to skutočný stroj času pre váš kód.
Zmeny Claude Code sa do tejto histórie dostanú, keď budú zaznamenané bežnými commitmi. V Git Log ich vidíte rovnako ako svoje: môžete otvoriť ľubovoľný commit a overiť, čo presne sa zmenilo.
Ako to funguje v spojení s Claude Code
Teraz, keď rozumiete vetvám, je jednoduchšie čítať akcie Claude Code, keď pracuje s vaším repozitárom. Toto s touto technológiou robí za vás a na toto sa oplatí dávať pozor:
- vytvára samostatnú vetvu, ak to predpokladá úloha a pravidlá projektu;
- v kľúčových bodoch navrhuje
commit- vy si prečítate diff a rozhodnete, či ho prijať alebo upraviť; - pomáha nájsť potrebný uložený commit a vybrať spôsob návratu, pričom zohľadní necommitnuté zmeny;
- pri konflikte zlúčenia môže požiadať o vašu pomoc - rieši sa tým istým nástrojom IDE;
- vie pripraviť a okomentovať pull request (PR - návrh na začlenenie vetvy do hlavnej, napríklad cez GitHub CLI).
Skôr než súhlasíte, pozrite si diff - obzvlášť keď Claude navrhne zmazať súbory alebo vykonať merge. Takto vždy viete, čo presne sa dostane do histórie projektu.
Predchádzajúci článok: Každodenná práca s Gitom · Nasledujúci článok: Pull request od vytvorenia po zlúčenie
GO TO FULL VERSION