Junior — Middle
Jaké jsou rozdíly mezi příkazy 'git merge' a 'git rebase' při integraci změn do větve?
sobes.tech AI
Odpověď od AI
Příkazy git merge a git rebase se používají k integraci změn z jedné větve do druhé, ale fungují odlišně:
-
git merge vytvoří nový commit sloučení, který spojí historii obou větví. Historie zůstává jako větev, což umožňuje vidět, kdy a jak došlo ke sloučení.
-
git rebase přenáší (přepisuje) commity aktuální větve na jinou větev, čímž vytváří lineární historii bez commitů sloučení. To zjednodušuje historii, ale mění hashe commitů, což může způsobit potíže při spolupráci.
Příklad:
# merge
git checkout feature
git merge main
# rebase
git checkout feature
git rebase main
Volba závisí na preferencích týmu: merge zachovává celou historii, rebase ji činí čistší a lineárnější.