تعارضات الدمج
فكرة جديدة
شخصان وسطر واحد
تفرّعتَ أنت وسارة من main. غيّرتَ العنوان في index.html إلى Learn Git fast، وغيّرت سارة السطر نفسه إلى Git for teams. أودع كلٌّ منكما تغييره، ثم دمجتَ فرع سارة.
يقارن Git كل طرف بالإيداع الذي انفصل عنده الفرعان. إن غيّرتما أجزاء مختلفة من الملف، غير متجاورة، يأخذ Git التغييرين معًا. لكن هنا غيّر الطرفان السطر نفسه بطريقتين مختلفتين (ويحدث الأمر نفسه إن حذف طرف ملفًا عدّله الطرف الآخر).
أيّ النسختين هي الصحيحة؟ هذا سؤال عن المعنى، وGit لا يستطيع أن يعرف ما قصدته. لذلك يتوقف ويسألك. هذا هو تعارض الدمج (merge conflict). ليس عطلًا ولا مشروعًا مكسورًا: إنه Git يرفض أن يخمّن.