merge এবং rebase উভয়ই এক ব্রাঞ্চ থেকে অন্য ব্রাঞ্চে পরিবর্তন সংহত করে, কিন্তু তারা এটি ভিন্নভাবে করে: merge একটি merge commit এর সাথে ইতিহাস সংরক্ষণ করে, যখন rebase একটি রৈখিক ক্রম তৈরি করতে ইতিহাস পুনর্লিখন করে। প্রতিটি কখন ব্যবহার করতে হবে তা বোঝা গুরুত্বপূর্ণ।
Merge — ইতিহাস সংরক্ষণ করে (একত্রিত করে)
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)
