كتبت .gitignore والملف ما زال يظهر؟ افحص هل يتتبعه Git أصلًا
مثال صغير يفرق بين ملف غير متتبع وآخر سبق إدخاله للمستودع؛ التجاهل ليس حذفًا من السجل ولا معالجةً لتسرب سر.

إضافة اسم ملف إلى .gitignore لا تجعل Git ينسى ملفًا يتتبعه بالفعل. هذه من أكثر أسباب الالتباس عند تنظيم ملفات الإعداد أو نواتج البناء. ابدأ بمعرفة حالة الملف قبل اختيار أي أمر يغير الفهرس أو السجل.
افحص دون تغيير
git status --short git ls-files -- path/to/file git check-ignore -v -- path/to/file
يعرض ls-files الملفات المتتبعة المطابقة للمسار. أما check-ignore فيوضح قاعدة التجاهل المطابقة لملف مؤهل للفحص؛ عدم ظهور نتيجة لملف متتبع لا يعني أن النمط نفسه غير صحيح. استخدم --no-index للفحص التشخيصي إذا أردت اختبار النمط مع تجاهل حالة الفهرس، دون تعديلها.
مثال في مجلد تجريبي
# نمط داخل .gitignore لمشروع تجريبي local-settings.json build/
أنشئ في مشروع تجريبي ملفًا غير متتبع باسم local-settings.json، ثم افحصه: يفترض أن ترى القاعدة التي استثنته. إذا أُدخل الملف إلى الفهرس قبل كتابة القاعدة، يبقى متتبعًا؛ النمط لا يلغي قرارًا سابقًا. هذا فرق في حالة Git، وليس خللًا يحتاج حذف المجلد.
لا تحوّل الفحص إلى تنظيف أعمى
توقف قبل أوامر إزالة الملفات من التتبع، وحدد إن كان يجب أن يبقى الملف لدى الفريق أو ينتقل إلى قالب بلا قيم خاصة. تغيير التتبع قد يجعل الملف يُحذف من نسخ زملائك عند التحديث؛ لهذا لا نقدم أمر إزالة جماعيًا كحل افتراضي لمجرد أن status مزدحم.
إذا كان الملف يحتوي سرًا
التجاهل ليس حماية وصول، وإزالة الملف من آخر التزام لا تمحوه من التاريخ أو النسخ الأخرى. إذا انكشف مفتاح حقيقي، يبدأ التعامل بإبطاله أو تدويره لدى الجهة المعنية، ثم معالجة السجل والمشاركات بنطاق مدروس. استخدم في أمثلتك قيمًا وهمية صريحة، ولا تنسخ أسرار مشروعك إلى أداة شرح.
المصادر والمراجع
دليل أصلي من B52؛ راجع الروابط للمعلومات المرجعية.


