شرح صفوف ومحتوى الفقرة
يواجه كثير من المطورين موقفاً محيراً: «لقد أضفت .env إلى ملف .gitignore ومع ذلك لا يزال يظهر في git status عند تعديله!». السبب الهندسي هو فخ الملف المتتبع مسبقاً:
- القاعدة الذهبية: تسري قواعد
.gitignoreعلى الملفات غير المتتبعة فقط؛ أما إذا كان الملف قد أُضيف مسبقاً إلى الفهرس أو حُفظ في التزام سابق، فسيواصل Git تتبعه وتجاهل قاعدة الحجب. - الحل الجذري: نفّذ أولاً الأمر
git rm --cached .envلإخراج الملف من الفهرس مع إبقائه على القرص، ثم احفظ الالتزام ليدخل الملف فوراً في حكم التجاهل.
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"