git clean
إزالة الملفات غير المتتبَّعة من مجلد العمل
يحذف الأمر 'git clean' الملفات غير المتتبَّعة — ملفات لم يخزّنها Git قط، مثل السجلات أو مخرجات البناء أو التجارب. ولأن Git لا يملك نسخة منها، لا يمكن استرجاع الملفات المحذوفة. لذلك يرفض git clean العمل دون -f، ويعرض git clean -n أولًا ما سيُحذف. تبقى ملفات .gitignore ما لم تُضف -x.
الصيغة
git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] [<pathspec>...]الخيارات
اختيار الخيار المناسب
ما يزيله كل أمر
متتبَّع أو غير متتبَّع
| الأمر | ملفات غير متتبَّعة | ملفات متجاهَلة | تعديلات الملفات المتتبَّعة |
|---|---|---|---|
git clean -f | محذوف | محفوظ | محفوظ |
git clean -f -x | محذوف | محذوف | محفوظ |
git restore . | محفوظ | محفوظ | مُهمَل |
git stash -u | مخبّأ (stash) | محفوظ | مخبّأ (stash) |
أمثلة
معاينة
git clean -nيسرد الملفات غير المتتبَّعة التي ستُحذف.
حذف الملفات غير المتتبَّعة
git clean -fيحذفها نهائيًا.
المجلدات أيضًا
git clean -fdيحذف المجلدات غير المتتبَّعة أيضًا.
أمثلة على سير العمل
git status -sرؤية الملفات غير المتتبَّعة (??)
git clean -nمعاينة الحذف
git clean -fحذفها
حل المشكلات
fatal: clean.requireForce is true and -f not given
السبب: يرفض git clean الحذف دون -f
شغّل git clean -n للمعاينة، ثم git clean -f
لم يُحذف مجلد غير متتبَّع
السبب: المجلدات تحتاج -d
استخدم git clean -fd
حذفت ملفًا كنت أحتاجه
السبب: الملفات غير المتتبَّعة ليس لها نسخة في Git
لا يستطيع Git استعادته؛ تحقّق من محرّرك أو نسخك الاحتياطية. في المرة القادمة استخدم git stash -u
نصائح وأخطاء شائعة
أفضل الممارسات
- ✓شغّل دائمًا git clean -n قبل git clean -f.
- ✓استخدم git stash -u بدلًا منه إن كنت قد تحتاج الملفات لاحقًا.
- ✓احصر -x في مجلدات البناء التي يمكنك إعادة توليدها.
أخطاء متكررة
- ✗تشغيل git clean -f دون -n أولًا وفقدان ملف ما زلت تحتاجه.
- ✗إضافة -x بحكم العادة وحذف ملفات متجاهَلة مثل .env.
- ✗توقّع أن يتراجع git clean عن تعديلات الملفات المتتبَّعة — استخدم git restore لذلك.
الأسئلة الشائعة
لا. لم تُخزَّن الملفات في Git قط.
لا. يحذف فقط الملفات غير المتتبَّعة (ومع -x، المتجاهَلة).
نعم: يتيح لك git clean -i اختيار الملفات واحدًا واحدًا.