Både merge og rebase integrerer endringer fra en gren inn i en annen, men de gjør det på forskjellige måter: merge bevarer historikk med en merge-commit, mens rebase omskriver historikk for å skape en lineær sekvens. Å forstå forskjellen og når man skal bruke hver metode er viktig.
Merge — bevarer historikk (kombinerer)
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)
