Hem merge hem de rebase bir daldan diğerine değişiklikleri entegre eder, ancak farklı şekillerde yaparlar: merge geçmişi korur ve bir merge commit'i oluşturur, rebase ise geçmişi yeniden yazar ve doğrusal bir sıra oluşturur. Her birinin ne zaman kullanılacağını anlamak önemlidir.
Merge — geçmişi korur (birleştirir)
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)
