git sparse-checkout
مساحات العمل والمشاريع الكبيرة
استخراج بعض مجلدات مستودع كبير فقط
يحدّد الأمر 'git sparse-checkout' المجلدات الموجودة على القرص. تبقى الملفات خارج تلك المجلدات في كل commit وفي المستودع، لكنها لا تُستخرج — مفيد في المستودعات الضخمة حيث تعمل على جزء واحد فقط. في وضع cone (الافتراضي) تبقى ملفات المستوى الأعلى موجودة دائمًا. ويخبرك git status بنسبة الملفات الموجودة على القرص.
الصيغة
git sparse-checkout (set | add) <folder>...
git sparse-checkout list
git sparse-checkout disable[ ] اختياري| أو<arg> قيمة تُستبدل... قابل للتكرار--flag خيار
الخيارات
اختيار الخيار المناسب
العمل مع مستودع ضخم
أقل على القرص مقابل أقل تنزيلًا
| الأمر | يوفّر |
|---|---|
git sparse-checkout | مساحة القرص ووقت الاستخراج |
git clone --filter=blob:none | حجم التنزيل (استنساخ جزئي) |
git clone --depth 1 | حجم السجل (استنساخ سطحي) |
أمثلة
الإبقاء على مجلد
git sparse-checkout set srcsrc/ وملفات المستوى الأعلى فقط.
إضافة مجلد
git sparse-checkout add docsيعود docs/ أيضًا.
إيقافه
git sparse-checkout disableكل الملفات مجددًا.
أمثلة على سير العمل
1
git clone --filter=blob:none --sparse <url>استنساخ خفيف، sparse من البداية
2
git sparse-checkout set webالإبقاء على مجلدك فقط
حل المشكلات
مجلد مفقود
السبب: إنه خارج الـ sparse checkout
git sparse-checkout add <folder>
نصائح وأخطاء شائعة
أفضل الممارسات
- ✓استخدم وضع cone (الافتراضي) — فهو أسرع بكثير من الأنماط.
أخطاء متكررة
- ✗الظن بأن الملفات المخفية حُذفت من المشروع — ما زالت تُسجَّل وتُدفع كالمعتاد.
الأسئلة الشائعة
A:
لا تراها، فلا تلمسها عادةً؛ وتبقيها الـ commits دون تغيير.