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.