Baik merge maupun rebase mengintegrasikan perubahan dari satu branch ke branch lain, namun mereka melakukannya dengan cara berbeda: merge melestarikan history dengan merge commit, sementara rebase menulis ulang history untuk membuat urutan linear. Memahami perbedaan dan kapan menggunakan masing-masing sangat penting.
Merge — melestarikan history (menggabungkan)
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)
