كيفية إصلاح خطأ Git & lsquo ؛ سيتم استبدال التغييرات المحلية الخاصة بك على الملفات التالية بواسطة merge & [رسقوو] ؛

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

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

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

ما هي المستودعات؟ ما المقصود بالدفع والسحب في Git؟

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

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

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

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

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

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

الطريقة الأولى: إجبار السحب على الكتابة فوق التغييرات المحلية

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

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

إعادة تعيين بوابة - git pull الثابت

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

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

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

git add $ the_file_under_error git الالتزام git pull

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

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

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

git stash save --keep-index. حفظ git stash

أو

بوابة المخبأ
git pull git stash pop

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

تطبيق git stash

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

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

git stash git pull --rebase origin master git stash pop

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

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

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

أو

بوابة الخروج HEAD ^ path / to / file / to / revert

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

git إعادة تعيين مسار الرأس / إلى / ملف / إلى / الرجوع

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

بوابة السحب

سيحاول هذا بعد ذلك إحضار الإصدار من المستودع.