شرح صفوف ومحتوى الفقرة
يلخص الجدول التالي الفروق الهندسية بين أنماط وخيارات الأمر git merge وتأثير كل منها على شجرة الالتزامات:
| صيغة الأمر أو نمط الدمج | متى يعمل هذا النمط | النتيجة في شجرة سجل الالتزامات |
|---|---|---|
git merge <branch> (الدمج السريع) | لم يستقبل الفرع الهدف أي التزامات منذ التفرع | يحرك مؤشر الفرع خطياً للأمام دون التزام جديد |
git merge <branch> (الدمج الثلاثي) | تفرع المساران بوجود التزامات جديدة في كليهما | ينشئ التزام دمج جديداً بوالدين يربط الفرعين |
git merge --no-ff <branch> | عند طلب توثيق حدود فرع الميزة صراحةً | ينشئ التزام دمج بوالدين حتى لو أمكن الدمج السريع |
git merge --ff-only <branch> | عند اشتراط بقاء السجل خطياً فقط | ينفذ الدمج السريع إن أمكن أو يلغي العملية |
git merge --squash <branch> | عند الرغبة في تلخيص التزامات فرع تجريبي | يجهز محصلة التعديلات لحفظها بالتزام مفرد |
خلاصة المعرفة ومحطة الانتقال
ملخص الدرس
حصاد الدرسمراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي
ماذا تعلّمت في هذا الدرس؟
أتقنت في هذا الدرس القاعدة الذهبية للتحضير قبل الدمج، والفرق بين الدمج السريع Fast-Forward والدمج الثلاثي Three-Way Merge، وكيفية حفظ أثر التفرع بالخيار --no-ff وتنظيف الفروع المدمجة بأمان. الخطوة التالية: انتقل الآن إلى الدرس رقم 23 «فهم وحل تعارضات الدمج Merge Conflicts خطوة بخطوة» لتعلّم كيفية حسم تضارب الأسطر بين الفروع.