Git Merge و Git Rebase چه تفاوتی دارند

خلاصه
1405/05/07

تفاوت اصلی آن‌ها در نحوه ادغام تاریخچه کامیت‌ها است: * **`git merge`**: یک کامیت جدید (Merge Commit) ایجاد می‌کند که شاخه فعلی با شاخه‌ای که ادغام می‌شود، به هم می‌رسد. این

Git Merge و Git Rebase چه تفاوتی دارند


تفاوت اصلی آن‌ها در نحوه ادغام تاریخچه کامیت‌ها است:

* **`git merge`**: یک کامیت جدید (Merge Commit) ایجاد می‌کند که شاخه فعلی با شاخه‌ای که ادغام می‌شود، به هم می‌رسد. این کار تاریخچه را دقیق و کامل نگه می‌دارد اما می‌تواند منجر به تاریخچه‌ای پر از Merge Commit شود.
* **`git rebase`**: کامیت‌های شما را روی آخرین نسخه شاخه مقصد "بازچین" (Re-apply) می‌کند، گویی که هرگز از آن نقطه جدا نشده‌اید. این کار باعث می‌شود تاریخچه خطی‌تر و تمیزتر شود، اما تاریخچه اصلی (که در `merge` وجود داشت) حذف شده و تغییر کرده است.