حل تعارضات الـ merge
جزء من دورة Git
أول مرة يرفض فيها Git إتمام دمج قد تظن أن شيئاً تعطّل. لم يتعطل شيء. يقع تعارض الدمج (merge conflict) حين يغيّر فرعان الأسطر نفسها من الملف نفسه بطريقتين مختلفتين، ولا يستطيع Git حقاً أن يخمّن أي النسختين تريد الإبقاء عليها. وهو ليس خطأً بقدر ما هو سؤال يوجّهه Git إليك مباشرة: "هاتان النسختان تختلفان، فأيهما تغلب، أم تريد أن تكتب شيئاً جديداً يجمع بينهما؟" ومهمتك أن تفتح الملف وتقرر وتحفظه ثم تخبر Git أنك انتهيت.
أنت على main. وفي مكان ما على الطريق، حرّر فرع ثانٍ السطر نفسه من الملف نفسه الذي حرّرته أنت على main. وحين تحاول دمج ذلك الفرع يقارن Git النسختين سطراً سطراً ويحاول جمعهما تلقائياً. وكل سطر مسّه طرف واحد فقط يمر بلا مشكلة. أما السطر الذي مسّه الطرفان بصورتين مختلفتين فلا قاعدة عند Git لاختيار الغالب فيه، فيتوقف ويترك القرار لك.
هل تريد تعلّم Git حل تعارضات الـ merge في بيئة حقيقية؟
انقر بالأسفل لتحصل على جهاز لينكس مع Git جاهز، وتعمل على حل تعارضات الـ merge بشكل عملي مع مدرّس ذكي يعرف الكود الخاص بك.
ابدأ هذا الدرسحل تعارضات الـ mergeما الذي ستتعلّمه
- Merge conflict markers
- Manual resolution
- Git add after resolving
- Git merge --abort
- Mergetool
