كيفية إصلاح خطأ Git: تحتاج إلى حل الفهرس الحالي أولاً

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

خطأ: أنت بحاجة إلى حل الفهرس الحالي أولاً

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

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

ما الذي يسبب خطأ Git: تحتاج إلى حل الفهرس الحالي أولاً؟

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

  • فشل الدمج وتحتاج إلى معالجة تعارض الدمج قبل الانتقال إلى مهام أخرى.
  • هناك تعارضات في الملفات الموجودة في الفرع الحالي (أو الفرع المستهدف) وبسبب هذه التعارضات ، لن تتمكن من التحقق من فرع أو رمز الدفع.

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

الحل 1: حل الصراع دمج

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

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

مثال على ذلك هو:

 git add file.txt $ git الالتزام 

يمكنك إضافة التعليق الشخصي الخاص بك أثناء ارتكاب. مثال على ذلك هو:

 git الالتزام - م "هذا هو مستودع بوابة Appuals" 
  1. بعد حل التعارض ، حاول تسجيل الخروج من الفرع الحالي الخاص بك ومعرفة ما إذا تم حل المشكلة.

الحل 2: العودة إلى الدمج الخاص بك

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

للتراجع عن الدمج ، اكتب ما يلي:

 $ git reset –gege 

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

يمكنك أيضًا محاولة التراجع عن HEAD باستخدام الأمر التالي:

 git تعود رأس 

إذا كنت ترغب في تحديد التزام الدمج المحدد الذي ترغب في الرجوع إليه ، يمكنك استخدام نفس الأمر مع إعادة تحديد معلمات إضافية. سيتم استخدام تجزئة SHA1 الالتزام الالتزام. تشير علامة -m متبوعة بالرقم 1 إلى أننا نريد الاحتفاظ بالجانب الأصلي للدمج (الفرع الذي ندمج فيه). نتيجة هذا الارتداد هي أن Git سينشئ التزامًا جديدًا يسترجع التغييرات من الدمج.

 git revert -m 1 dd8d6f587fa24327d5f5afd6fa8c3e604189c8d4> 

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