Mind a merge, mind a rebase egy másik ágról származó módosításokat integrál az aktuális ágba, azonban eltérő módon teszik ezt: a merge megőrzi az előzményeket egy merge commit-tal, míg a rebase átírja az előzményeket egy lineáris szekvencia létrehozásához. A különbség megértése és annak tudása, hogy mikor melyiket kell használni, fontos.
Merge — megőrzi az előzményeket (kombinál)
main: A───B───C───────M ← M is a MERGE COMMIT (two parents)
\ /
feature: D───E
→ git merge feature: creates M combining the branches
✓ Preserves the actual history (shows the branch existed, when it merged)
✗ History has merge commits (can look cluttered with many merges)
