کار با فایلهای بزرگ
نمای کلی
گیت برای فایلهای باینری بزرگ طراحی نشده است. برای چنین فایلهایی از Git LFS (Large File Storage) استفاده کنید تا مخزن شما بزرگ نشود و کارآمد باقی بماند.
چه زمانی Git LFS استفاده کنیم
- فایلهای بزرگتر از 50MB
- فایلهای باینری که اغلب تغییر میکنند (تصاویر، صوت، ویدئو، دیتاستها)
- آرتیفکتهای build یا وابستگیهای بزرگ
راهاندازی
// Install Git LFS (one-time) git lfs install // Track file types git lfs track "*.psd" // Verify tracked patterns git lfs track
اضافه کردن و کامیت فایلها
git add .gitattributes git add assets/largefile.psd git commit -m "Add large PSD file" git push origin main
اشتباهات رایج
- نصب نکردن Git LFS قبل از کلون
- ردیابی فایلهای منفرد به جای نوع فایل
- کامیت مستقیم فایلهای بزرگ بدون LFS
- نادیده گرفتن تغییرات
.gitattributes - Push کردن فایلهای خیلی بزرگ و رد شدن توسط پلتفرم
بهترین شیوهها
- نوع فایل را ردیابی کنید، نه فایلهای منفرد
- فایل
.gitattributesرا commit کنید تا تیم شما به درستی ردیابی کند - فایلهای باینری که زیاد تغییر میکنند را در تاریخچهٔ معمولی ذخیره نکنید
- برای مخزنهای بزرگ از shallow clone یا sparse checkout استفاده کنید
- بهطور دورهای اشیاء قدیمی را پاک کنید:
git lfs prune
تکنیکهای پیشرفته
- تبدیل فایلهای بزرگ موجود در تاریخچه:
git lfs migrate - قفل کردن فایلها برای ویرایش گروهی:
git lfs lock - ادغام با CI/CD برای pull فقط در صورت نیاز