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



جرب أداة القضاء على المشاكل

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



خطأ: تحتاج إلى حل الفهرس الحالي أولاً في Git source control

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



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



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

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

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

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

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



الحل 1: حل تعارض الدمج

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

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

مثال على ذلك:

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

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

$ git الالتزام –m 'This is Appuals Git repository'
  1. بعد حل التعارض ، حاول التحقق من الفرع الموجود لديك ومعرفة ما إذا تم إصلاح المشكلة.

الحل 2: التراجع عن الدمج

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

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

إعادة تعيين بوابة $ --- دمج

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

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

git $ عودة الرأس

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

$ git revert -m 1 dd8d6f587fa24327d5f5afd6fa8c3e604189c8d4>
3 دقائق للقراءة