Sobes.tech
Junior — Middle

Vysvětlete, čím se liší použití příkazů git rebase a git merge při integraci změn do větví.

sobes.tech AI

Odpověď od AI

git merge a git rebase jsou dva způsoby, jak integrovat změny z jedné větve do druhé, ale fungují odlišně:

  • git merge vytvoří nový commit sloučení, který spojí historii obou větví. Historie zachovává všechny větvení a commity, což poskytuje úplný obraz vývoje.

  • git rebase přesune commity aktuální větve na jinou větev a přepíše historii. To činí historii lineárnější a čistší, ale mění hashe commitů.

Příklad:

# merge
git checkout feature
git merge main

# rebase
git checkout feature
git rebase main

Kdy použít:

  • merge je vhodný pro zachování celé historie a když je důležitá transparentnost větvení.
  • rebase je užitečný pro zjednodušení historie před sloučením do hlavní větve, aby se předešlo zbytečným commitům sloučení.

Důležité: nedoporučuje se dělat rebase na veřejných větvích, protože to mění historii a může způsobit konflikty u ostatních vývojářů.