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