← العودة إلى Git و GitHub
NTF Hub / Git و GitHub / Rebase

rebase

إعادة ترتيب commits على قاعدة جديدة والفرق بينه وبين merge.

GitGitHubRebaseمحاكي Git

rebase

إعادة ترتيب commits على قاعدة جديدة والفرق بينه وبين merge.

تطبيق مباشر: افتح مختبر Git التفاعلي وجرّب الأوامر المرتبطة بهذا الدرس.

ما هو rebase؟

rebase يعيد تشغيل commits فرعك فوق قاعدة جديدة. بدل أن تدمج التاريخين بــ merge commit، يجعل تاريخ الفرع يبدو كأنه بدأ من آخر نقطة في main.

الأمر

git switch feature
git rebase main
يعيد وضع commits الخاصة بـ feature فوق main.

الفرق عن merge

merge يحافظ على شكل التفرع. rebase يعيد ترتيب التاريخ ليبدو خطيًا. كلاهما صحيح، لكن لكل واحد استخدام.

تحذير مهم

لا تستخدم rebase على commits رفعتها وبدأ الآخرون يعتمدون عليها إلا وأنت تفهم أثر إعادة كتابة التاريخ.

في المحاكي

استخدم rebase لملاحظة كيف تتحرك commits ويتغير شكل الشجرة مقارنة بالدمج.

الخلاصة: اربط الأمر دائمًا بمكان التغيير: Working Directory، Staging Area، Commit History، أو GitHub Remote.