Git je výkonný nástroj na verzionovanie kódu a jednou z jeho najdôležitejších funkcií je vetvenie. Branching umožňuje vývojárom pracovať na rôznych funkciách súčasne, testovať nové riešenia a bezpečne integrovať zmeny bez narušenia hlavného vývoja. V tomto článku si vysvetlíme, čo sú Git branch-e, ako s nimi pracovať a ako riešiť konflikty.
Branch (vetva) je oddelená línia vývoja, ktorá umožňuje pracovať na konkrétnych funkciách alebo opravách bez ovplyvnenia hlavnej vetvy kódu. Hlavné výhody vetvenia:
main
alebo master
).Vo väčšine projektov existujú štandardizované workflow, ktoré definujú, ako by sa mali vetvy používať.
Vytváranie a spravovanie vetiev v Gite je jednoduché a pozostáva z niekoľkých základných príkazov.
git branch
Tento príkaz zobrazí zoznam všetkých lokálnych vetiev a označí aktuálne aktívnu vetvu hviezdičkou.
git branch feature-nova-funkcia
Týmto príkazom vytvoríte novú vetvu s názvom feature-nova-funkcia
, ale zatiaľ na ňu neprejdete.
git checkout feature-nova-funkcia
Od Git verzie 2.23 je odporúčané používať:
git switch feature-nova-funkcia
git checkout -b feature-nova-funkcia
Alternatíva pre novšie verzie Git:
git switch -c feature-nova-funkcia
Po dokončení práce na novej funkcii je potrebné zlúčiť (merge) zmeny do hlavnej vetvy.
git checkout main git merge feature-nova-funkcia
Ak chcete pred zlúčením overiť, aké zmeny boli vykonané:
git diff main feature-nova-funkcia
Po úspešnom zlúčení môžete vymazať nepotrebnú vetvu:
git branch -d feature-nova-funkcia
Ak je vetva ešte nezlúčená a Git odmietne jej vymazanie, môžete ju odstrániť silou:
git branch -D feature-nova-funkcia
Vetvy môžu byť nielen lokálne, ale aj vzdialené (remote). Git umožňuje efektívne pracovať so vzdialenými repozitármi ako GitHub, GitLab alebo Bitbucket.
git push origin feature-nova-funkcia
git fetch --all
git checkout -b feature-nova-funkcia origin/feature-nova-funkcia
git push origin --delete feature-nova-funkcia
Git automaticky označí problematické časti v súboroch. Opravte ich manuálne a potom vykonajte:
git add . git commit -m "Riešenie konfliktu pri merge"
git reset --hard HEAD~1
Príkaz vráti vetvu o jeden commit späť.
git checkout -b moja-branch origin/moja-branch
feature
, develop
, release
a hotfix
.Ak máte záujem o prezenčné alebo online školenie programovania, pozrite si našu ponuku na www.like-it.sk. Naše kurzy vedú skúsení odborníci, ktorí vás naučia programovať od základov až po pokročilé techniky.