Tanto merge como rebase integran cambios de una rama a otra, pero lo hacen de manera diferente: merge preserva el historial con un commit de merge, mientras que rebase reescribe el historial para crear una secuencia lineal. Comprender la diferencia y cuándo usar cada uno es importante.
Por qué es importante
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)
