Middle
Aký je rozdiel medzi rebase a merge v Git?
sobes.tech AI
Odpoveď od AI
Merge vytvorí nový commit zlúčenia, ktorý spája históriu vetiev. Rebase presunie commity vašej vetvy na inú, prepísať históriu.
Kedy použiť:
- Merge: Preferované na zlúčenie funkčných vetiev do hlavnej vetvy, zachováva históriu.
- Rebase: Dobré na vyčistenie lokálnej histórie pred pushom, robí históriu lineárnou.
Porovnanie:
| Vlastnosť | Merge | Rebase |
|---|---|---|
| Typ operácie | Vytvára commit zlúčenia | Prepísať históriu, presúva commity |
| História | Zachováva štruktúru vetiev, môže byť zložitá | Lineárna, ale môže byť ťažké sledovať |
| Spolupráca | Bezpečnejšie pri tímovej práci | Môže spôsobovať problémy so zdieľanými vetvami, ak história už bola publikovaná |
# Príklad merge
git checkout main
git merge feature-branch
# Príklad rebase
git checkout feature-branch
git rebase main
git checkout main
git merge feature-branch // Rýchle dopredu zlúčenie