كيفية إصلاح خطأ Git "سيتم الكتابة فوق تغييراتك المحلية على الملفات التالية بواسطة دمج"

تظهر رسالة الخطأ " سيتم الكتابة فوق التغييرات المحلية على الملفات التالية بواسطة دمج " في آلية التحكم في إصدار Git. يحدث هذا الخطأ إذا قمت بتعديل ملف يحتوي أيضًا على تعديلات في المخزون البعيد.

Git Error: سيتم الكتابة فوق التغييرات المحلية على الملفات التالية عن طريق الدمج

يتم تجنب رسالة الخطأ هذه في حالة عدم وجود ملفات غير ملتزم بها تحتوي أيضًا على تعديلات في المخزون البعيد. عند تجربة هذه الرسالة ، من الأفضل استشارة أعضاء فريقك الآخرين وطلب رأيهم. سواء كنت تريد دمج التغييرات المحلية أو الاحتفاظ بالإصدار الحالي في المستودع ، فمن الأفضل إبقاء الجميع على متن الطائرة.

ما هي المستودعات؟ ما هي الشد والجذب في جيت؟

المستودع هو نوع من التخزين لرمز يتم تعديله باستمرار والحصول عليه من قبل أعضاء الفريق من خلال آلية التحكم في إصدار GitHub. يعني "السحب" أنك تقوم بسحب أحدث إصدار من المستودع إلى التخزين / بيئة التطوير المتكاملة (بيئة التطوير المتكاملة) مثل Pycharm وما إلى ذلك.

بعد السحب ، يمكنك إجراء تغييرات على الكود أو إضافة المزيد من الميزات. بمجرد الانتهاء من ذلك ، تقوم بضغط الكود على المستودع حتى يتم حفظ التغييرات وإجراء الإضافات. يحصل رمز الوصول إلى أشخاص آخرين كذلك.

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

كيفية إصلاح "سيتم الكتابة فوق تغييراتك المحلية على الملفات التالية بواسطة دمج"؟

تعتمد دقة رسالة الخطأ هذه على ما تريد القيام به. يمكنك تجاهل التغييرات المحلية الخاصة بك وسحبها في المستودع أو يمكنك حفظ التغييرات المحلية في خبأ وسحب الإصدار من المستودع. كل شيء يعتمد على اختيارك.

لذلك ، نوصيك بالتشاور مع أعضاء فريقك والتأكد من أنك جميعًا على نفس الصفحة قبل المضي قدمًا. إذا ارتكبت خطأ أو دفعت نسخة خاطئة ، فقد يؤثر ذلك على الفريق بأكمله.

الأسلوب 1: فرض سحب الكتابة فوق التغييرات المحلية

إذا كنت لا تهتم بالتغييرات التي تم إجراؤها محليًا وترغب في الحصول على الكود من المستودع ، يمكنك فرض السحب. سيؤدي هذا إلى الكتابة فوق جميع التغييرات المحلية التي أجريت على جهاز الكمبيوتر الخاص بك وستظهر نسخة مكررة من الإصدار في المستودع.

قم بتنفيذ الأوامر التالية في IDE الخاص بك:

 إعادة تعيين بوابة - من الصعب سحب بوابة 

سيؤدي هذا إلى تدمير جميع التغييرات المحلية فورًا ، لذا تأكد من أنك تعرف ما تفعله ولا تحتاج إلى تغييراتك المحلية.

الطريقة 2: الاحتفاظ كلا التغييرات (محلي ومن الريبو)

إذا كنت تريد الاحتفاظ بكلتا التغييرات (التغييرات التي تم إجراؤها محليًا والتغييرات موجودة في المستودع) ، يمكنك إضافة التغييرات والالتزام بها. عندما تقوم بالسحب ، من الواضح أنه سيكون هناك صراع دمج. هنا يمكنك استخدام الأدوات الموجودة في IDE (مثل Difftool و mergetool) لمقارنة جزأين من التعليمات البرمجية وتحديد التغييرات التي يجب الاحتفاظ بها وأي منها يجب إزالته. هذه هي الطريقة الوسطى ؛ لن يتم فقد أية تغييرات حتى تقوم بإزالتها يدويًا.

 git add $ the_file_under_error git ارتكاب git pull 

عندما تحصل على تعارض في الدمج ، اسحب أدوات حل التعارض هذه وتأكد من سطر بسطر.

الطريقة الثالثة: حفظ كلا التغييرين ولكن ليس الالتزام

يحدث هذا الموقف من وقت لآخر حيث يكون المطورون غير مستعدين للالتزام نظرًا لوجود بعض الرموز المعطلة جزئيًا والتي تقوم بتصحيحها. هنا يمكننا تخزين التغييرات بأمان ، وسحب الإصدار من المستودع ، ثم إلغاء تثبيت الشفرة.

 بوابة خبأ حفظ - الحفاظ على مؤشر 

أو

 بوابة خبأ 
 git git git gash pop 

إذا كانت هناك بعض الصراعات بعد أن أطفئ الخبث ، فيجب عليك حلها بالطريقة المعتادة. يمكنك أيضًا استخدام الأمر:

 تطبيق خبأ بوابة 

بدلاً من البوب ​​إذا لم تكن مستعدًا لفقد الرمز المخزن بسبب التعارضات.

إذا لم يكن الدمج خيارًا قابلاً للتطبيق بالنسبة إليك ، ففكر في إجراء إعادة تسعير. إعادة التثبيت هي عملية نقل أو دمج سلسلة من الالتزامات إلى التزام أساسي جديد. في حالة rebasing ، قم بتغيير الكود إلى:

 git stash git pull --rebase Origin master git stash pop 

الطريقة الرابعة: إجراء تغييرات على أجزاء "محددة" من التعليمات البرمجية الخاصة بك

إذا كنت ترغب في إجراء تغييرات على أجزاء معينة من التعليمات البرمجية ولا تريد استبدال كل شيء ، يمكنك الالتزام بكل ما لا تريد الكتابة فوقه ثم اتباع الطريقة الثالثة. يمكنك استخدام الأمر التالي للتغييرات التي تريد الكتابة فوق الإصدار الموجود في المستودع:

 بوابة الخروج مسار / إلى / ملف / إلى / العودة 

أو

 بوابة الخروج HEAD ^ المسار / إلى / ملف / إلى / العودة 

تحتاج أيضًا إلى التأكد من عدم تخزين الملف عبر:

 بوابة إعادة تعيين مسار HEAD / إلى / ملف / إلى / العودة 

ثم تابع أمر السحب:

 بوابة السحب 

سيحاول هذا عندئذٍ جلب النسخة من المستودع.

مقالات مثيرة للاهتمام