حل التعارض
جزء من قسم التحكم في الإصدارات في رحلة Terminal على Coddy — الدرس 38 من 58.
الإلغاء هو الخطوة الصحيحة أحياناً، لكن في أغلب الأحيان تريد فعلياً حل التعارض وإنهاء عملية الدمج.
حل التعارض هو عملية تتكون من ثلاث خطوات:
- افتح الملف المتعارض. استبدل كتلة العلامات بالإصدار الذي تريده (أو مزيج منهما).
- قم بإدراج الملف الذي تم حله باستخدام
git add. - قم بإنهاء عملية الدمج باستخدام
git commit.
يمكنك استخدام نص برمجي لاستبدال الملف بالمحتوى الذي تم حله مباشرة، وهو بالضبط ما ستفعله في هذا الدرس (لا حاجة لمحرر).
إذا نسيت تنفيذ git add للملف الذي تم حله، فستفشل عملية الـ commit وسيخبرك أن الملف لا يزال مميزاً كغير مدمج.
التحدي
متوسطقم بإعداد تعارض في notes.txt تماماً كما في الدرس السابق:
- أول commit على
mainبمحتوىhello - على الفرع
alt: قم بالتغيير إلىhi from alt، ثم قم بعمل commit - بالعودة إلى
main: قم بالتغيير إلىhi from main، ثم قم بعمل commit - قم بتشغيل
git merge alt(سيحدث تعارض)
قم بحل التعارض عن طريق استبدال محتوى notes.txt بالسطر hi from both. قم بإضافة الملف للمرحلة (Stage) وأنهِ الدمج برسالة Resolve notes. اطبع المحتويات النهائية لـ notes.txt.
ورقة مرجعية
لحل تعارض الدمج (merge conflict):
- قم بتحرير الملف المتأثر بالتعارض — قم بإزالة علامات التعارض واحتفظ بالمحتوى المطلوب.
- قم بإضافة الملف الذي تم حله إلى منطقة التحضير (stage):
git add <file> - قم بإنهاء عملية الدمج:
git commit
git add notes.txt
git commit -m "Resolve conflict"إذا تخطيت git add، فستفشل عملية الالتزام (commit) مع بقاء الملف مميزًا كغير مدمج.
جرّب بنفسك
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس التحكم في الإصدارات
7التفرع (Branching)
ما هو الفرع (Branch)؟إنشاء فرعالتبديل بين الفروعإجراء Commit على فرعحذف فرعملخص - ممارسة التفرع10المستودعات البعيدة (Remotes)
ما هو الـ Remote؟إضافة Remoteعمليات Push و Pull و Cloneملخص - إعداد الـ Remote8الدمج
ما هو الدمجدمج التقديم السريع (Fast-Forward)الدمج ثلاثي الاتجاهات (Three-Way)تعارضات الدمجحل التعارضملخص - محترف الدمج11مشروع Feature Branch
نظرة عامة على المشروعتهيئة Main