العودة
Git يتجاهل الملفات في ثلاثة أماكن وليس في ‎.gitignore‎ فقط
SiTech AI Team2 წთ. საკითხავი

Git يتجاهل الملفات في ثلاثة أماكن وليس في ‎.gitignore‎ فقط

تدوينة تشرح المستويات الثلاثة لتجاهل الملفات في Git: ملف ‎.gitignore‎ المحفوظ في المستودع، وملف ‎.git/info/exclude‎ الخاص بمستودع واحد، وملف التجاهل العام على مستوى الجهاز.

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

مستوى المشروع: .gitignore

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

مستوى المستودع: .git/info/exclude

الملف الثاني هو .git/info/exclude. يوجد داخل مجلد .git في كل مستودع، لكن التغييرات فيه لا تُحفظ في Git أبدًا. وفي مستودع جديد لا يحتوي عادةً إلا على بضعة أسطر تعليق. وهو مخصص لاستثناءات شخصية تخص مستودعًا واحدًا، مثل ملف notes.txt يفيدك لكن لا مكان له في المشروع. وإضافة مثل هذه السجلات هنا تُبقي .gitignore مرتبًا وتمنع نشر تفضيلات لا يشاركك فيها أحد.

مستوى الجهاز: ~/.config/git/ignore

المستوى الثالث عالمي. يقع ملف ~/.config/git/ignore في المجلد الرئيسي وينطبق على كل مستودع على الجهاز، وهو لا ينتمي إلى أي مشروع. والاستخدام الكلاسيكي هو ضوضاء نظام التشغيل: على macOS يعني ذلك .DS_Store. ويمكن تغيير الموقع: الأمر git config --global core.excludesFile ~/.gitignore_global يوجّه Git إلى ملف آخر، بينما git config --global --unset core.excludesFile يعيد الإعداد الافتراضي.

معرفة الملف المسؤول عن التجاهل

عندما يصبح ملف ما غير مرئي لـ Git بشكل غير متوقع، يعرض الأمر git check-ignore -v القاعدة المطابقة بدقة. وفي حالة .DS_Store قد تكون النتيجة .gitignore:1:.DS_Store أو .git/info/exclude:7:.DS_Store أو ~/.config/git/ignore:2:.DS_Store، حسب المستوى المسؤول. وإذا لم يكن هناك ما يتجاهل الملف، فلا يطبع الأمر أي شيء.

SSiTech

SiTech — تطوير ويب مدعوم بالذكاء الاصطناعي

نبني مواقع سريعة وعصرية وندمج الذكاء الاصطناعي في سير عمل الشركات. لديك مشروع أو سؤال؟ يسعدنا مساعدتك.