تفاوت git merge و git rebase

تفاوت git rebase و git merge در این است که در git rebase هیچ تاریخچه ای از commit ها در branch فرعی وجود ندارد، در واقع آن commit ها پاک شده و هر کدام با id جدید بر روی branch اصلی (آخرین آپدیت) apply میشود. این به چه دردی می خوره:

فرض کنید که از branch اصلی یک branch میگیریم و روی آن تغییراتی میدهیم همزمان شخصی دیگر branch اصلی را تغییر داده و ما متوجه میشویم اولا بهتر است تغییرات ما بعد از آخرین آپدیت branch اصلی اعمال شود ثانیا تاریخچه commit های ما پیچیدگی اضافه میکند و توضیحات اضافی است و بهتر است مستقیم بر روی branch اصلی (آخرین آپدیت) اعمال شود. در این حالت بهتر است از git rebase استفاده کنیم.

در این لینک این تفاوت با یک مثال توضیح داده شده است

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *