Sobes.tech
Junior — Middle

Aké sú rozdiely medzi príkazmi 'git merge' a 'git rebase' pri integrácii zmien do vetvy?

sobes.tech AI

Odpoveď od AI

Príkazy git merge a git rebase sa oboma používajú na integráciu zmien z jednej vetvy do druhej, ale fungujú odlišne:

  • git merge vytvorí nový commit zlúčenia, ktorý spojí históriu oboch vetiev. História zostáva ako rozvetvenie, čo umožňuje vidieť, kedy a ako došlo ku zlúčeniu.

  • git rebase presúva (prepíše) commity aktuálnej vetvy na inú vetvu, čím vytvára lineárnu históriu bez commitov zlúčenia. To zjednodušuje históriu, ale mení hash-ové hodnoty commitov, čo môže spôsobovať problémy pri spolupráci.

Príklad:

# merge
git checkout feature
git merge main

# rebase
git checkout feature
git rebase main

Voľba závisí od preferencií tímu: merge zachová celú históriu, rebase ju spraví čistejšou a lineárnejšou.