Både merge och rebase integrerar ändringar från en gren till en annan, men de gör det på olika sätt: merge bevarar historiken med en merge-commit, medan rebase skriver om historiken för att skapa en linjär sekvens. Att förstå skillnaden och när man ska använda var och en är viktigt.
Merge — bevarar historiken (kombinerar)
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)
