NahdaAIنهضة
Git & GitHub • المستوى الثاني • الدرس 2

دمج الفروع والتحديث الآمن (Git Merge & Fast-Forward)

العودة لفهرس المستوى

أهداف الدرس

  • الخطوات الصحيحة لإجراء عملية الدمج: الانتقال للفرع المستهدف ثم استدعاء git merge.
  • فهم آلية الدمج المباشر Fast-Forward Merge ومتى تحدث.
  • التحقق من نجاح الدمج عبر git log --oneline ومقارنة الفروع.
  • معرفة الفرق بين Fast-Forward وThree-Way Merge.

1. آلية دمج الفروع

عند إكمال الميزة البرمجية واختبارها على فرع معزول، ننتقل إلى الفرع المستهدف (مثل main) ثم ننفّذ الأمر git merge branch-name لإدراج التحديثات رسمياً.

bash
# سيناريو دمج كامل

# 1. أنشئ فرعاً واعمل عليه
git checkout -b feature/login
git add .
git commit -m "feat: add login page"

# 2. عد للفرع الرئيسي
git checkout main

# 3. ادمج الفرع الفرعي داخل main
git merge feature/login
# → Fast-forward
# → 1 file changed

# 4. تحقق من النتيجة
git log --oneline
git branch

2. أنواع الدمج في Git

Fast-Forward Merge

يحدث عندما يكون الفرع المستهدف لم يتقدم على الفرع المُدمَج. Git ينقل المؤشر للأمام دون إنشاء التزام جديد.

main → أ → ب → ج (feature)
Three-Way Merge

يحدث عندما يكون الفرعان قد تباعدا. Git ينشئ Merge Commit جديد يجمع التغييرات.

main → أ → ب
     ↘ ي → ج (feature)
     ↓
merge commit

3. أوامر الدمج الأساسية

git merge

دمج فرع داخل الفرع الحالي:

git checkout main
git merge feature/login
git merge --abort

إلغاء دمج فاشل (قبل حل التعارضات):

git merge --abort
التطبيق العملي المباشر

تحدي الدرس الثاني: دمج فرع الميزة في الفرع الرئيسي

قم بالتعديل على الكود بداخل المحرر أدناه لتطبيق المتطلبات التالية:

  1. هيّئ المستودع وأنشئ الالتزام الأول على main (موجود في الكود الأولي).
  2. أنشئ فرعاً جديداً باسم feature/auth بخطوة واحدة عبر git checkout -b.
  3. أنشئ التزاماً على فرع الميزة برسالة feat: add authentication module.
  4. عُد إلى main بـ git checkout main.
  5. ادمج فرع feature/auth داخل main بـ git merge feature/auth.
  6. اعرض السجل المختصر بـ git log --oneline للتأكد من دمج الالتزام.
⏳ جارٍ تحميل المحرر التفاعلي...