Git merge اور Git rebase ایک برانچ سے موجودہ برانچ میں تبدیلیوں کو ضم کرنے کے دو مختلف طریقے ہیں۔ merge یہاں گٹ اور گٹ کے درمیان فرق ہیں rebase:
Git Merge
- Git Merge commit ایک شاخ کی تاریخ کو موجودہ شاخ میں جوڑنے کا عمل ہے ۔
- جب آپ ایک انجام دیتے ہیں تو merge ، گٹ ایک نیا بناتا ہے commit جس میں ضم شدہ برانچ اور موجودہ برانچ کی تمام تبدیلیاں ہوتی ہیں۔
- Merge commit دونوں شاخوں کی تاریخ کو برقرار رکھتا ہے ، جس کے نتیجے میں commit خصوصیات یا طویل مدتی شاخوں کو مربوط کرتے وقت ایک پیچیدہ تاریخ بن سکتی ہے۔
- Merge عام طور پر استعمال کیا جاتا ہے جب آپ ہر برانچ کے لیے الگ الگ ہسٹری رکھنا چاہتے ہیں commit اور صرف مین برانچ میں تبدیلیوں کو ضم کرنا چاہتے ہیں۔
Git Rebase
- Git Rebase موجودہ برانچ کے کمٹ کو منتقل کرنے اور انہیں اس برانچ کے اوپر رکھنے کا عمل ہے جس میں آپ انضمام(ری بیس) کرنا چاہتے ہیں۔
- جب آپ ایک انجام دیتے ہیں rebase ، Git commit موجودہ شاخ میں سے ہر ایک کو ہدف کی شاخ کے اوپر لاگو کرتا ہے۔ یہ ایک نیا اور صاف ستھرا commit سلسلہ بناتا ہے۔
- Rebase ایک آسان اور زیادہ لکیری commit تاریخ کو برقرار رکھنے میں مدد کرتا ہے، لیکن یہ commit موجودہ برانچ کی تاریخ کو تبدیل کر سکتا ہے اور اگر ایک ہی برانچ میں ایک سے زیادہ لوگ کام کر رہے ہوں تو تنازعات کا سبب بن سکتا ہے۔
merge Git اور Git کے درمیان انتخاب rebase آپ کے ورک فلو اور مخصوص پروجیکٹ کی ضروریات پر منحصر ہے۔ اگر آپ علیحدہ تاریخیں رکھنا چاہتے ہیں commit اور خصوصیات یا طویل المدت شاخوں کو مربوط کرنا چاہتے ہیں تو استعمال کریں merge ۔ اگر آپ ایک آسان اور زیادہ لکیری commit تاریخ کو برقرار رکھنے کو ترجیح دیتے ہیں تو استعمال کریں rebase ۔