ਦੋਵੇਂ 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)
