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 خيار

الخيارات

انقر على أي خيار لتوسيعه

مبتدئ (4)

اختيار المجلدات التي تبقى على القرص (يستبدل القائمة الحالية).

موصى بهاختر المجلدات التي تعمل فيها

مثال

git sparse-checkout set src

إضافة مجلدات إلى التي تبقيها.

موصى بهتوسيع الاستخراج دون البدء من جديد

مثال

git sparse-checkout add docs

طباعة المجلدات المُبقاة حاليًا.

موصى بهالتحقق مما على القرص

مثال

git sparse-checkout list

إيقاف الـ sparse checkout واستعادة كل ملف.

موصى بهالعودة إلى استخراج عادي

مثال

git sparse-checkout disable

اختيار الخيار المناسب

العمل مع مستودع ضخم

أقل على القرص مقابل أقل تنزيلًا

الأمريوفّر
git sparse-checkoutمساحة القرص ووقت الاستخراج
git clone --filter=blob:noneحجم التنزيل (استنساخ جزئي)
git clone --depth 1حجم السجل (استنساخ سطحي)

أمثلة

الإبقاء على مجلد

git sparse-checkout set src

src/ وملفات المستوى الأعلى فقط.


إضافة مجلد

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 دون تغيير.