انتقل إلى محتوى الدرس

Three-Way Merge Commits الدمج الثلاثي والتزام الدمج

ادمج فروع الميزات المكتملة إلى الفرع الرئيسي عبر الأمر git merge، وميّز بين الدمج السريع Fast-Forward والدمج الثلاثي Three-Way Merge وتنظيف الفروع.
4 صفوف تعليمية
Version Control
0 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

في المشاريع النشطة، غالباً ما يستقبل الفرع main التزامات جديدة أثناء عملك المتوازي داخل فرع الميزة. ولأن مساري الفرعين قد تفرعا، لا يمكن الاكتفاء بتحريك المؤشر خطياً.

يلجأ Git تلقائياً إلى خوارزمية الدمج الثلاثي (Three-Way Merge) عبر مقارنة ثلاث لقطات رئيسية:

  1. الجد المشترك الأخير (Merge Base): آخر التزام اشترك فيه الفرعان قبل افتراقهما.
  2. قمة الفرع المستقبِل الحالي (main).
  3. قمة الفرع المراد دمجه (feat-ui).

ينتج عن هذه العملية إنشاء التزام دمج جديد (Merge Commit) يتميز بامتلاكه والدين اثنين يربطان تاريخ الفرعين معاً.

الصف 2 كود برمجي
Shell
# Merge diverged branch with an explicit message
git switch main
git merge feat-ui -m "Merge branch feat-ui into main"
git log --oneline --graph -n 4
الصف 3 صورة توضيحية
مخطط يقارن بين الدمج السريع بتحريك المؤشر والدمج الثلاثي بإنشاء التزام دمج ذي والدين في Git
الصف 4 ملاحظة هامة