Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

تعارضات الدمج

جزء من قسم التحكم في الإصدارات في رحلة 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
challenge icon

التحدي

متوسط

يحتوي المجلد على 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

جرّب بنفسك

الطرفية
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس التحكم في الإصدارات