Zowel merge als rebase integreren veranderingen van de ene branch in een andere, maar ze doen het op verschillende manieren: merge bewaart de geschiedenis met een merge commit, terwijl rebase de geschiedenis herschrijft om een lineaire volgorde te creëren. Het is belangrijk om het verschil te begrijpen en te weten wanneer je elk moet gebruiken.
Merge — bewaart de geschiedenis (combineert)
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)
