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 branch2. أنواع الدمج في Git
Fast-Forward Merge
يحدث عندما يكون الفرع المستهدف لم يتقدم على الفرع المُدمَج. Git ينقل المؤشر للأمام دون إنشاء التزام جديد.
main → أ → ب → ج (feature)
Three-Way Merge
يحدث عندما يكون الفرعان قد تباعدا. Git ينشئ Merge Commit جديد يجمع التغييرات.
main → أ → ب
↘ ي → ج (feature)
↓
merge commit3. أوامر الدمج الأساسية
git merge
دمج فرع داخل الفرع الحالي:
git checkout main git merge feature/login
git merge --abort
إلغاء دمج فاشل (قبل حل التعارضات):
git merge --abort
التطبيق العملي المباشر
تحدي الدرس الثاني: دمج فرع الميزة في الفرع الرئيسي
قم بالتعديل على الكود بداخل المحرر أدناه لتطبيق المتطلبات التالية:
- هيّئ المستودع وأنشئ الالتزام الأول على
main(موجود في الكود الأولي). - أنشئ فرعاً جديداً باسم
feature/authبخطوة واحدة عبرgit checkout -b. - أنشئ التزاماً على فرع الميزة برسالة
feat: add authentication module. - عُد إلى
mainبـgit checkout main. - ادمج فرع
feature/authداخلmainبـgit merge feature/auth. - اعرض السجل المختصر بـ
git log --onelineللتأكد من دمج الالتزام.
⏳ جارٍ تحميل المحرر التفاعلي...