CodeShot

Merge در مقابل Rebase

Merge تاریخچه Branchها را حفظ می‌کند، اما Rebase تاریخچه را بازنویسی کرده و خطی‌تر می‌کند.

ویژگیMergeRebase
حفظ تاریخچهبلهخیر
بازنویسی Commitهاخیربله
Merge Commitایجاد می‌شودایجاد نمی‌شود
مناسب Branch مشترکبلهخیر
خوانایی Historyمتوسطعالی

کِی از Merge استفاده کنیم؟

برای ادغام Branchها بدون تغییر تاریخچه.

کِی از Rebase استفاده کنیم؟

برای تمیز نگه داشتن Commit History قبل از Merge.

مثال Merge

git merge feature

مثال Rebase

git rebase main

اشتباه رایج

انجام Rebase روی Branchهای Shared که دیگران نیز از آن استفاده می‌کنند.

جمع‌بندی

تیمی و امن → Merge

تاریخچه تمیز → Rebase