Git LFS — مدیریت فایل‌های بزرگ

ذخیره فایل‌های حجیم (ویدئو، تصویر، مدل سه‌بعدی) با Git Large File Storage بدون سنگین کردن مخزن.

مشکل: فایل‌های بزرگ در گیت

گیت برای فایل‌های متنی کوچک طراحی شده. اگر فایل‌های حجیم (ویدئو، PSD، مدل سه‌بعدی، دیتاست) کامیت کنید:

راه‌حل: Git LFS

Git Large File Storage (LFS) فایل‌های بزرگ را جای دیگری ذخیره می‌کند و در گیت فقط یک اشاره‌گر کوچک می‌گذارد. مخزن سبک می‌ماند و فایل‌ها هنگام نیاز دانلود می‌شوند!

نصب LFS

# ویندوز: همراه Git for Windows نصب است، یا:
git lfs install
# Git LFS initialized.

استفاده از LFS

# ۱. مشخص کردن فایل‌های بزرگ (الگو):
git lfs track "*.psd"
git lfs track "*.mp4"
git lfs track "assets/models/*"

# ۲. فایل .gitattributes خودکار ساخته می‌شود — کامیتش کنید:
git add .gitattributes
git commit -m "راه‌اندازی LFS"

# ۳. کار عادی! فایل بزرگ را اضافه و کامیت کنید:
git add design.psd
git commit -m "افزودن طرح PSD"
git push
قبل از اولین کامیت فایل بزرگ، حتماً git lfs track انجام شده باشد! اگر فایل حجیم معمولی کامیت شده، تاریخچه سنگین شده و پاک‌کردنش سخت است.

مدیریت فایل‌های LFS

# لیست فایل‌های تحت نظر LFS:
git lfs ls-files

# لیست الگوهای track شده:
git lfs track

# دانلود واقعی همه فایل‌های LFS:
git lfs pull

# فقط اشاره‌گرها را نگه دار، محتوا را پاک کن (جای دیسک آزاد شود):
git lfs prune

LFS در گیت‌هاب

پلنسهمیه LFS رایگان
Free۱ گیگابایت فضای ذخیره + ۱ گیگ پهنای باند ماهانه
Proبیشتر (قابل خرید)

اگر سهمیه تمام شود، push فایل‌های LFS بلاک می‌شود — قابل ارتقا یا استفاده از سرور LFS شخصی.

کی از LFS استفاده کنیم؟

✅ مناسب LFS❌ مناسب نیست
فایل‌های طراحی (PSD، AI)فایل‌های متنی کد
ویدئو و صوت پروژهوابستگی‌ها (node_modules — اصلاً کامیت نشود!)
مدل‌های سه‌بعدی و بازیخروجی build
دیتاست‌های یادگیری ماشینهر چیز قابل تولید مجدد

خلاصه

این مبحث بخشی از دوره آموزش کامل Git است.

ابزارهای مرتبط