git prune

الإدارة

حذف الكائنات غير القابلة للوصول


يحذف الأمر 'git prune' الكائنات المتفرّقة التي لا يصل إليها أي فرع أو وسم أو فهرس أو مُدخل reflog — مثل commits متروكة منذ زمن. وهو جزء من git gc الذي يُفضَّل استخدامه عادةً. لا يمكن استرجاع الكائنات المحذوفة.

الصيغة

git prune [-n] [-v] [--expire <time>]
[ ] اختياري| أو<arg> قيمة تُستبدل... قابل للتكرار--flag خيار

أمثلة

معاينة

git prune -n -v

ما الذي سيُحذف.


عبر gc

git gc --prune=now

الطريقة المعتادة.

أمثلة على سير العمل

1
git reflog expire --expire=now --all

نسيان الـ reflog

2
git prune

حذف الكائنات التي صارت غير قابلة للوصول

حل المشكلات

لم يُحذف شيء

السبب: ما زال الـ reflog يشير إلى الكائنات

أنهِ صلاحية الـ reflog أولًا (أو انتظر 90/30 يومًا)

نصائح وأخطاء شائعة

أفضل الممارسات

  • ✓استخدم git gc بدل استدعاء prune مباشرة.

أخطاء متكررة

  • ✗الخلط بين git prune وgit remote prune (الذي يزيل الفروع البعيدة المتقادمة).

الأسئلة الشائعة

A:

لا. شغّل git fsck --lost-found أولًا إن كنت مترددًا.