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)
