تم: Gitignore لا يعمل

برز GitHub ليكون رائدًا في مجال تعاون الكود ومشاركة المستودعات. GitHub هو في الأساس برنامج للتحكم في الإصدار يتيح للمستخدمين التحكم في التحكم في الإصدار الموزع و SCM (إدارة كود المصدر). يتم استخدام هذه المنصة من قبل الشركات والشركات الكبرى في جميع أنحاء العالم.

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

ما هو .gitignore؟

يرى Git (أو GitHub) كل ملف في دليل العمل الخاص بك. يميز كل ملف بأنه واحد من الثلاثة:

  • متعقبة: هذه الملفات إما ملتزمة أو تم تنظيمها مسبقًا في التاريخ.
  • غير متتبع: هذه هي الملفات التي لم يتم تنظيمها أو تنفيذها مسبقًا.
  • تم التجاهل: هذه هي الملفات التي طلب المستخدم نفسه من Git تجاهلها تمامًا.

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

  • التعليمات البرمجية المجمعة: عادةً ما تكون هذه الملفات بالملحق .class و .pyc و .ccp وما إلى ذلك.
  • ملفات النظام المخفية: هذه هي الملفات التي يستخدمها النظام لعملياته ولكنها مخفية عن العرض العادي ، على سبيل المثال ، DS_Store أو Thumbs.db ، إلخ.
  • بناء أدلة الإخراج: هذه في الغالب من أدلة / bin ، / out ، إلخ.
  • ذاكرات التبعية: قد تكون هذه الملفات محتويات / عقدة أو / حزم الوحدات النمطية.
  • ملفات تكوين IDE: هذه هي ملفات التكوين التي يتم إنشاؤها أو إدارتها في الغالب بواسطة برنامج IDE الخاص بك.
  • الملفات التي تم إنشاؤها في وقت التشغيل: هناك بعض البرامج التي تنشئ ملفات في وقت التشغيل. إذا تم تشغيل أي من هذه التعليمات البرمجية ، فقد يتم إنشاء بعض الملفات في وقت التشغيل في مجلد العمل الخاص بك وقد تتجاهلها في Git.

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

ما أسباب عدم عمل .gitignore؟

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

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

الحل 1: فحص ملف .gitignore

ظهرت حالة مثيرة للاهتمام حيث رأينا أن ملف .gitignore تم إنشاؤه بتنسيق خاطئ. حدثت هذه المشكلة تحديدًا عندما أنشأ المستخدمون الملف باستخدام التطبيق الافتراضي لـ Notepad في نظام التشغيل Windows. اتضح أن برنامج Notepad يكتب الملف بتنسيق Unicode بدلاً من تنسيق ANSI. في هذا الحل ، سنحفظ تغييرات المفكرة بالتنسيق الصحيح لـ .gitignore ومعرفة ما إذا كان هذا سيؤدي إلى حل المشكلة.

ملاحظة: يجب عليك إزالة امتداد .txt من الملف عند إنشاء ملف جديد باستخدام المفكرة.

  1. بعد كتابة الرمز أو التغييرات في مستند نصي جديد في برنامج Notepad ، انقر فوق ملف وحدد حفظ باسم .
  1. الآن أمام التشفير ، حدد ANSI . الآن قم بإزالة امتداد الملف .txt واحفظ الملف باسم " .gitignore ". حدد الدليل الصحيح واحفظه.
  1. انتقل الآن إلى الدليل وتحقق مما إذا تم إنشاء الملف الصحيح. الآن اختبرها مرة أخرى باستخدام Git ومعرفة ما إذا كانت ميزة التجاهل تعمل كما هو متوقع.

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

ملاحظة: إذا كان ملفك محفوظًا بالفعل بتنسيق UNICODE ، فيجب عليك حفظ المحتويات بتنسيق ANSI بشكل صحيح إذا كنت تريد أن يكتشف Git ملفك بشكل صحيح.

الحل 2: فحص الملف الذي تحاول تجاهله

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

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

الحل 3: إعادة إضافة الملفات إلى المستودع

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

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

  1. قم بتنفيذ الأمر التالي. سيؤدي هذا إلى إلغاء التدريج وإزالة المسارات إلى ملفاتك من فهرس git بطريقة متكررة.
بوابة rm -r-- مؤقتًا.
  1. بعد تنفيذ ذلك ، يجب عليك تنفيذ الأمر التالي. سيؤدي هذا إلى إعادة جميع ملفاتك ، وبما أن .gitignore سيكون له القواعد ، فلن يتم تحديث سوى الملفات الصحيحة.
إضافة بوابة.
  1. سنقوم الآن بإعادة جميع ملفاتك إلى الفهرس باستخدام الكود أدناه:
git الالتزام -m ".gitignore يعمل الآن"

قم الآن بفحص ملفاتك ومعرفة ما إذا كان قد تم حل المشكلة ويمكنك استخدام .gitignore مرة أخرى دون أي مشاكل.