GIT-LFS(1)   GIT-LFS(1)

git-lfs - کار با فایل‌های بزرگ در مخازن گیت

git lfs <command> [<args>]

ابزار Git LFS سامانه‌ای برای مدیریت و نسخه‌بندی فایل‌های بزرگ در ارتباط با یک مخزن گیت (Git) است. به جای ذخیرهٔ فایل‌های بزرگ در قالب blob درون مخزن گیت، Git LFS «فایل‌های نشانگر» (pointer files) ویژه‌ای را در مخزن ذخیره می‌کند، در حالی که محتوای واقعی فایل را روی یک سرور Git LFS نگه می‌دارد. محتوای فایل بزرگ در صورت نیاز به‌طور خودکار بارگیری می‌شود؛ به عنوان مثال هنگامی که شاخه‌ای از گیت که حاوی فایل بزرگ است تحویل گرفته شود (checkout).

ابزار Git LFS با استفاده از یک فیلتر «smudge» برای یافتن محتوای فایل بزرگ بر اساس فایل نشانگر، و یک فیلتر «clean» برای ایجاد نسخهٔ جدیدی از فایل نشانگر در هنگام تغییر محتوای فایل بزرگ عمل می‌کند. این ابزار همچنین از یک قلاب pre-push برای بارگذاری محتوای فایل بزرگ به سرور Git LFS در زمانی که کامیتی حاوی نسخهٔ جدیدی از فایل بزرگ در آستانهٔ ارسال (push) به سرور گیت متناظر باشد، استفاده می‌کند.

مشابه گیت، دستورهای Git LFS به دو دستهٔ دستورهای سطح بالا («porcelain») و دستورهای سطح پایین («plumbing») تقسیم می‌شوند.

git-lfs-checkout(1)

پر کردن نسخهٔ کاری با محتوای واقعی فایل‌های Git LFS.

git-lfs-completion(1)

تولید اسکریپت‌های شل برای تکمیل خودکار (tab-completion) خط فرمان دستورهای Git LFS.

git-lfs-dedup(1)

حذف داده‌های تکراری (De-duplicate) فایل‌های Git LFS.

git-lfs-env(1)

نمایش متغیرهای محیطی Git LFS.

git-lfs-ext(1)

نمایش جزئیات افزونه‌های Git LFS.

git-lfs-fetch(1)

بارگیری فایل‌های Git LFS از یک مخزن دوردست (remote).

git-lfs-fsck(1)

بررسی یکپارچگی و سلامت فایل‌های Git LFS.

git-lfs-install(1)

نصب پیکربندی‌های Git LFS.

git-lfs-lock(1)

تنظیم یک فایل به عنوان «قفل‌شده» (locked) در سرور Git LFS.

git-lfs-locks(1)

فهرست کردن فایل‌های فعلی «قفل‌شده» در سرور Git LFS.

git-lfs-logs(1)

نمایش خطاهای ناشی از دستورهای Git LFS.

git-lfs-ls-files(1)

نمایش اطلاعات دربارهٔ فایل‌های Git LFS در نمایه (index) و درخت کاری (working tree).

git-lfs-migrate(1)

مهاجرت تاریخچه به یا از Git LFS.

git-lfs-prune(1)

حذف فایل‌های قدیمی Git LFS از حافظهٔ محلی.

git-lfs-pull(1)

دریافت تغییرات Git LFS از مخزن دوردست و تحویل گرفتن (checkout) فایل‌های مورد نیاز درخت کاری.

git-lfs-push(1)

ارسال (push) فایل‌های بزرگ موجود در صف به سرور (نقطه پایانی) Git LFS.

git-lfs-status(1)

نمایش وضعیت فایل‌های Git LFS در درخت کاری.

git-lfs-track(1)

مشاهده یا افزودن مسیرهای Git LFS به ویژگی‌های گیت (Git attributes).

git-lfs-uninstall(1)

حذف نصب Git LFS از طریق پاکسازی قلاب‌ها (hooks) و پیکربندی فیلترهای smudge/clean.

git-lfs-unlock(1)

حذف وضعیت «قفل‌شده» برای یک فایل در سرور Git LFS.

git-lfs-untrack(1)

حذف مسیرهای Git LFS از ویژگی‌های گیت (Git attributes).

git-lfs-update(1)

به‌روزرسانی قلاب‌های گیت (Git hooks) برای مخزن جاری گیت.

git-lfs-version(1)

گزارش شمارهٔ نسخه.

git-lfs-clean(1)

فیلتر clean در گیت که فایل‌های بزرگ را به نشانگرها (pointers) تبدیل می‌کند.

git-lfs-filter-process(1)

فیلتر فرآیندی گیت که تبدیل متقابل میان فایل‌های بزرگ و نشانگرها را انجام می‌دهد.

git-lfs-merge-driver(1)

ادغام (merge) فایل‌های متنی LFS.

git-lfs-pointer(1)

ساخت و مقایسهٔ نشانگرها (pointers).

git-lfs-post-checkout(1)

پیاده‌سازی قلاب post-checkout در گیت.

git-lfs-post-commit(1)

پیاده‌سازی قلاب post-commit در گیت.

git-lfs-post-merge(1)

پیاده‌سازی قلاب post-merge در گیت.

git-lfs-pre-push(1)

پیاده‌سازی قلاب pre-push در گیت.

git-lfs-smudge(1)

فیلتر smudge در گیت که نشانگر موجود در blobها را به محتوای واقعی تبدیل می‌کند.

git-lfs-standalone-file(1)

آداپتور انتقال مستقل Git LFS برای نشانی‌های فایل (مسیرهای محلی).

برای شروع کار با Git LFS، می‌توان از دستورهای زیر استفاده کرد.

1.راه‌اندازی Git LFS روی سیستم شما. این کار فقط یک‌بار برای هر حساب کاربری لازم است:
git lfs install
2.انتخاب نوع فایل‌هایی که می‌خواهید ردیابی شوند؛ برای نمونه تمام فایل‌های ایمیج ISO با استفاده از git-lfs-track(1):
git lfs track "*.iso"
3.دستور بالا این اطلاعات را در فایل‌های gitattributes(5) ذخیره می‌کند؛ بنابراین آن فایل باید به مخزن اضافه شود:
git add .gitattributes
4.کامیت، ارسال (push) و کار با فایل‌ها به صورت معمول:
git add file.iso
git commit -m "Add disk image"
git push