انتقل إلى محتوى الدرس

Already Tracked Files Trap مشكلة الملف المتتبع مسبقاً

احمِ مستودعك من رفع ملفات .env السرية ومجلدات الحزم والملفات المؤقتة عبر صياغة قواعد .gitignore وفحصها بالأمر git check-ignore.
3 صفوف تعليمية
Version Control
0 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

يواجه كثير من المطورين موقفاً محيراً: «لقد أضفت .env إلى ملف .gitignore ومع ذلك لا يزال يظهر في git status عند تعديله!». السبب الهندسي هو فخ الملف المتتبع مسبقاً:

  • القاعدة الذهبية: تسري قواعد .gitignore على الملفات غير المتتبعة فقط؛ أما إذا كان الملف قد أُضيف مسبقاً إلى الفهرس أو حُفظ في التزام سابق، فسيواصل Git تتبعه وتجاهل قاعدة الحجب.
  • الحل الجذري: نفّذ أولاً الأمر git rm --cached .env لإخراج الملف من الفهرس مع إبقائه على القرص، ثم احفظ الالتزام ليدخل الملف فوراً في حكم التجاهل.
الصف 2 كود برمجي
Shell
# Fix a file that was tracked before adding to .gitignore:
echo ".env" >> .gitignore
git rm --cached .env
git add .gitignore
git commit -m "Untrack and ignore local .env file"
الصف 3 ملاحظة هامة