'\" t .\" Title: git-lfs-config .\" Author: [see the "AUTHOR(S)" section] .\" Generator: Asciidoctor 2.0.26 .\" Manual: \ \& .\" Source: \ \& .\" Language: Persian .\" .TH "GIT\-LFS\-CONFIG" "5" "" "\ \&" "\ \&" .ie \n(.g .ds Aq \(aq .el .ds Aq ' .ss \n[.ss] 0 .nh .ad l .de URL \fI\\$2\fP <\\$1>\\$3 .. .als MTO URL .if \n[.g] \{\ . mso www.tmac . am URL . ad l . . . am MTO . ad l . . . LINKSTYLE blue R < > .\} .SH "نام (NAME)" git\-lfs\-config \- پیکربندی Git LFS .SH "فایل‌های پیکربندی (CONFIGURATION FILES)" .sp دستور git\-lfs پیکربندی خود را از هر فایلی که توسط \f(CRgit config \-l\fP پشتیبانی می‌شود، شامل تمام فایل‌های پیکربندی گیت به تفکیک مخزن، به تفکیک کاربر و به تفکیک سیستم می‌خواند. .sp علاوه بر این، تعداد اندکی از تنظیمات را می‌توان در فایلی به نام \f(CR.lfsconfig\fP در ریشه مخزن مشخص کرد؛ برای جزئیات بیشتر به بخش «LFSCONFIG» مراجعه کنید. این فایل پیکربندی برای تنظیم گزینه‌هایی مانند نشانی اینترنتی (URL) مربوط به LFS یا نوع دسترسی برای همه کاربران یک مخزن مفید است، به‌ویژه زمانی که این موارد با حالت پیش‌فرض تفاوت داشته باشند. فایل \f(CR.lfsconfig\fP از همان قالب \f(CR.gitconfig\fP استفاده می‌کند. .sp اگر فایل \f(CR.lfsconfig\fP وجود نداشته باشد، ایندکس (index) برای یافتن نسخه‌ای از این فایل بررسی می‌شود و از آن استفاده می‌گردد. اگر هر دو وجود نداشته باشند، \f(CRHEAD\fP برای یافتن فایل بررسی می‌شود. اگر مخزن خالی (bare) باشد، فقط \f(CRHEAD\fP بررسی می‌شود. این ترتیب ممکن است در آینده برای دریافت‌ها (checkouts) تغییر کند تا تطابق بهتری با رفتار گیت داشته باشد. .sp تنظیمات فایل‌های پیکربندی گیت بر فایل \f(CR.lfsconfig\fP مقدم هستند و آن را بازنویسی می‌کنند (override). این ویژگی به شما اجازه می‌دهد تا تنظیماتی مانند \f(CRlfs.url\fP را در محیط محلی خود، بدون نیاز به تغییر فایل \f(CR.lfsconfig\fP بازنویسی کنید. .sp بیشتر گزینه‌های مربوط به git\-lfs در بخش \f(CR[lfs]\fP قرار دارند؛ به این معنی که همگی با نام \f(CRlfs.foo\fP یا مشابه آن نام‌گذاری می‌شوند، اگرچه گاهی ممکن است یک گزینه lfs درون پیکربندی یک ریموت (remote) محدوده‌بندی (scoped) شده باشد. .SH "فهرست گزینه‌ها (LIST OF OPTIONS)" .SS "تنظیمات عمومی (General settings)" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRlfs.url\fP / \f(CRremote..lfsurl\fP .sp نشانی اینترنتی (URL) مورد استفاده برای فراخوانی API ریموت Git LFS. پیش‌فرض خالی است (از URL کلون مشتق می‌شود). .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRlfs.pushurl\fP / \f(CRremote..lfspushurl\fP .sp نشانی اینترنتی (URL) مورد استفاده برای فراخوانی API ریموت Git LFS هنگام ارسال (push). پیش‌فرض خالی است (از URLهای غیر push مربوط به LFS یا URL کلون مشتق می‌شود). .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRremote.lfsdefault\fP .sp ریموت مورد استفاده برای یافتن API ریموت Git LFS. گزینه‌های \f(CRlfs.url\fP و \f(CRbranch.*.remote\fP برای شاخه جاری، بر این تنظیم اولویت دارند و آن را بازنویسی می‌کنند. اگر این تنظیم مشخص نشده باشد و دقیقاً یک ریموت وجود داشته باشد، همان ریموت انتخاب می‌شود؛ در غیر این صورت، پیش‌فرض \f(CRorigin\fP است. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRremote.lfspushdefault\fP .sp ریموت مورد استفاده برای یافتن API ریموت Git LFS هنگام ارسال (push). گزینه‌های \f(CRlfs.url\fP و \f(CRbranch.*.pushremote\fP برای شاخه جاری، بر این تنظیم اولویت دارند و آن را بازنویسی می‌کنند. اگر این تنظیم مقداردهی نشده باشد، \f(CRremote.pushdefault\fP استفاده می‌شود، و اگر آن هم مشخص نباشد، ترتیب انتخاب همان‌طور که در \f(CRremote.lfsdefault\fP در بالا شرح داده شد اعمال می‌گردد. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRlfs.remote.autodetect\fP .sp این گزینه بولی، قابلیت تشخیص خودکار ریموت را در Git LFS فعال می‌کند. LFS تلاش می‌کند ریموت مربوطه را از اطلاعات کامیت به دست آورد و در صورت موفقیت، تنظیمات تعریف‌شده توسط \f(CRremote.lfsdefault\fP و \f(CRremote..lfsurl\fP را نادیده می‌گیرد. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRlfs.remote.searchall\fP .sp این گزینه بولی به Git LFS امکان می‌دهد برای یافتن داده‌های LFS در تمام ریموت‌های ثبت‌شده جستجو کند. این یک سازوکار پشتیبان (fallback) است که تنها در صورتی اجرا می‌شود که داده‌های LFS از طریق روش‌های عادی شرح داده شده در \f(CRremote.lfsdefault\fP\c ، \f(CRremote..lfsurl\fP و در صورت فعال بودن، \f(CRlfs.remote.autodetect\fP یافت نشوند. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRlfs.dialtimeout\fP .sp حداکثر زمانی (به ثانیه) را تعیین می‌کند که کلاینت HTTP برای برقراری اتصال منتظر می‌ماند. این زمان شامل مدت ارسال درخواست و انتظار برای پاسخ نمی‌شود. پیش‌فرض: ۳۰ ثانیه. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRlfs.tlstimeout\fP .sp حداکثر زمانی (به ثانیه) را تعیین می‌کند که کلاینت HTTP برای دست‌تکانی (handshake) TLS منتظر می‌ماند. پیش‌فرض: ۳۰ ثانیه. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRlfs.activitytimeout\fP / \f(CRlfs.https://.activitytimeout\fP .sp حداکثر زمانی (به ثانیه) را تعیین می‌کند که کلاینت HTTP برای خواندن یا نوشتن TCP بعدی منتظر می‌ماند. اگر کمتر از ۱ باشد، هیچ مهلت زمانی برای فعالیت اعمال نمی‌شود. پیش‌فرض: ۳۰ ثانیه. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRlfs.keepalive\fP .sp حداکثر زمانی (به ثانیه) را برای کلاینت HTTP جهت نگه‌داشتن اتصال‌های زنده (keepalive) تعیین می‌کند. پیش‌فرض: ۳۰ دقیقه. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRlfs.ssh.automultiplex\fP .sp هنگام استفاده از پروتکل خالص مبتنی بر SSH، مشخص می‌کند که آیا در صورت امکان درخواست‌ها روی یک اتصال واحد مالتی‌پلکس (multiplex) شوند یا خیر. این گزینه نیاز به استفاده از OpenSSH یا یک کلاینت سازگار با SSH دارد. پیش‌فرض: روی ویندوز false و در غیر این صورت true. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRlfs.ssh.retries\fP .sp تعداد دفعاتی که Git LFS تلاش می‌کند تا قبل از متوقف شدن، از طریق SSH احراز هویت را دریافت کند مشخص می‌نماید. پیش‌فرض: ۵. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRcore.askpass\fP, GIT_ASKPASS .sp در صورتی که به عنوان یک برنامه و آرگومان‌های آن مشخص شود، هنگام نیاز به احراز هویت در برابر LFS API فراخوانی می‌شود. محتویات خروجی استاندارد (stdout) به عنوان گذرواژه تفسیر می‌گردد. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRlfs.cachecredentials\fP .sp کش کردن درون‌حافظه‌ای اعتبارنامه‌های SSH و گیت را برای یک دستور واحد \*(Aqgit lfs\*(Aq فعال می‌کند. پیش‌فرض: فعال (enabled). .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRlfs.pathFilterCacheSize\fP .sp اندازه کش درون‌حافظه‌ای نتایج حاصل از تطبیق مسیر فایل‌ها با فیلتر تعریف‌شده توسط گزینه‌های \f(CRlfs.fetchInclude\fP و \f(CRlfs.fetchExclude\fP\c ، یا برای دستوراتی که آن‌ها را می‌پذیرند توسط گزینه‌های خط فرمان \f(CR\-\-include\fP و \f(CR\-\-exclude\fP یا معادل‌های \f(CR\-I\fP و \f(CR\-X\fP آن‌ها را تنظیم می‌کند. برای غیرفعال کردن کش مقدار را روی \f(CR0\fP یا \f(CRnone\fP و برای اجازه دادن به رشد نامحدود کش مقدار را روی \f(CRunlimited\fP تنظیم کنید. پیش‌فرض: ۱۰,۰۰۰ مسیر فایل یکتا. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRlfs.storage\fP .sp امکان بازنویسی دایرکتوری ذخیره‌سازی LFS را فراهم می‌کند. مسیرهای غیرمطلق، نسبت به داخل دایرکتوری مخزن گیت (معمولاً \f(CR.git\fP\c ) نسبی در نظر گرفته می‌شوند. .sp نکته: در صورتی که مخازن مختلفی دارید که از یک دایرکتوری ذخیره‌سازی مشترک استفاده می‌کنند، نباید دستور \f(CRgit lfs prune\fP را اجرا کنید. .sp پیش‌فرض: \f(CRlfs\fP در دایرکتوری مخزن گیت (معمولاً \f(CR.git/lfs\fP\c ). .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRlfs.largefilewarning\fP .sp هنگامی که یک فایل ۴ گیبی‌بایت (GiB) یا بزرگ‌تر باشد، هشدار می‌دهد. به دلیل محدودیتی در گیت، چنین فایل‌هایی هنگام استفاده از ویندوز با نسخه‌ای از Git for Windows کمتر از 2.34.0 آسیب خواهند دید (مگر اینکه smudge غیرفعال شده باشد). پیش‌فرض: اگر نسخه کمتر از 2.34.0 باشد true، و در غیر این صورت false. .RE .SS "تنظیمات انتقال بارگذاری و بارگیری (Upload and download transfer settings)" .sp این تنظیمات نحوه بارگذاری و بارگیری محتوای LFS را کنترل می‌کنند. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRlfs.concurrenttransfers\fP .sp تعداد بارگذاری‌ها/بارگیری‌های هم‌زمان. پیش‌فرض ۸ است. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRlfs.basictransfersonly\fP .sp اگر روی true تنظیم شود، فقط انتقال‌های پایه‌ای بارگذاری/بارگیری HTTP استفاده خواهند شد و هرگونه انتقال پیشرفته‌تری که کلاینت/سرور پشتیبانی کنند نادیده گرفته می‌شود. این گزینه در درجه اول برای دور زدن باگ‌ها یا ناسازگاری‌ها است. .sp کلاینت git\-lfs از بارگیری‌های پایه HTTP، بارگیری‌های قابل ازسرگیری HTTP (با استفاده از هدرهای \f(CRRange\fP\c ) و بارگذاری‌های قابل ازسرگیری از طریق پروتکل tus.io پشتیبانی می‌کند. روش‌های انتقال سفارشی را می‌توان از طریق \f(CRlfs.customtransfer\fP اضافه کرد (بخش بعدی را ببینید). با این حال، تنظیم این مقدار روی true، کلاینت را به HTTP ساده محدود می‌کند. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRlfs.tustransfers\fP .sp اگر روی true تنظیم شود، بارگذاری‌های قابل ازسرگیری اشیاء LFS را از طریق API وبگاه tus.io فعال می‌کند. پس از نهایی شدن این ویژگی، این تنظیم حذف خواهد شد و بارگذاری‌های tus.io برای همه کلاینت‌ها در دسترس خواهد بود. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRlfs.standalonetransferagent\fP .sp اجازه می‌دهد تا عامل انتقال سفارشی مشخص‌شده مستقیماً برای انتقال فایل‌ها بدون استعلام از سرور درباره نحوه انجام انتقال استفاده شود. عامل انتقال سفارشی باید در گروه تنظیمات \f(CRlfs.customtransfer.\fP تعریف شده باشد، یا اینکه مبدل انتقال داخلی \f(CRlfs\-standalone\-file\fP باشد. سایر مقادیر نادیده گرفته خواهند شد. .sp برای جزئیات مبدل انتقال سفارشی داخلی \f(CRlfs\-standalone\-file\fP\c ، که برای استفاده با URLهای محلی \f(CR\c .URL "file:///" "" "\fP" در نظر گرفته شده است، به git\-lfs\-standalone\-file(1) مراجعه کنید. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRlfs.customtransfer..path\fP .sp گزینه \f(CRlfs.customtransfer.\fP یک گروه تنظیمات است که یک قلاب انتقال سفارشی را تعریف می‌کند و به شما امکان می‌دهد با استفاده از هر سازوکاری که می‌خواهید (به جای صرفاً HTTP)، از طریق یک فرایند واسط به بارگذاری/بارگیری بپردازید. گزینه \f(CRpath\fP باید به فرایندی اشاره کند که مایل به فراخوانی آن هستید. پروتکل بین کلاینت git\-lfs و فرایند انتقال سفارشی در نشانی زیر مستند شده است: .URL "https://github.com/git\-lfs/git\-lfs/blob/main/docs/custom\-transfers.md" "" "" .sp شناسه \f(CR\fP باید یک شناسه یکتا باشد که سرور LFS آن را بشناسد و با نام هیچ‌یک از مبدل‌های انتقال داخلی از پیش تعریف‌شده در کلاینت مانند «basic» یا «ssh» تداخل نداشته باشد، زیرا آن‌ها همواره یک مبدل انتقال سفارشی با همان نام را بازنویسی می‌کنند. کلاینت هنگام فراخوانی LFS API فهرستی از انواع انتقال‌های پشتیبانی‌شده را ارسال می‌کند. اگر سرور نیز از این نوع انتقالِ نام‌گذاری‌شده پشتیبانی کند، آن را انتخاب کرده و اقدامات بازگردانده شده از API در ارتباط با همان نوع انتقال خواهد بود (برای مثال ممکن است URLهای سنتی نباشند). این فرایند انتقال سفارشی تنها در صورتی فراخوانی می‌شود که سرور آن را به عنوان انتقالی که پشتیبانی می‌کند بپذیرد. .sp اگر چندین تنظیم \f(CRlfs.customtransfer.\fP تعریف شده باشد، همگی باید در یک زیربخش پیکربندی یکسان قرار داشته باشند، به این معنی که بخش زیربخش نام آن‌ها باید دقیقاً یکسان باشد. به عنوان مثال، اگر \f(CRlfs.customTransfer.myAdapter.path\fP تعریف شود، آنگاه \f(CRlfs.customTransfer.myAdapter.args\fP پذیرفته خواهد شد، در حالی که \f(CRlfs.customtransfer.myadapter.args\fP پذیرفته نخواهد شد. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRlfs.customtransfer..args\fP .sp اگر فرایند انتقال سفارشی به هرگونه آرگومانی نیاز داشته باشد، می‌توان آن‌ها را در اینجا مشخص کرد. این رشته توسط شل (shell) بسط داده می‌شود. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRlfs.customtransfer..concurrent\fP .sp اگر true باشد (پیش‌فرض)، git\-lfs فرایند انتقال سفارشی را چند بار به صورت موازی بر اساس \f(CRlfs.concurrenttransfers\fP فراخوانی می‌کند و بار کاری انتقال را بین فرایندها تقسیم می‌نماید. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRlfs.customtransfer..direction\fP .sp مشخص می‌کند که فرایند انتقال سفارشی از کدام جهت پشتیبانی می‌کند: «download»، «upload» یا «both». در صورت عدم تعیین، پیش‌فرض «both» است. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRlfs.transfer.httpDownloadEncoding\fP / \f(CRlfs.transfer..httpDownloadEncoding\fP .sp کدگذاری فشرده‌سازی مورد استفاده هنگام بارگیری اشیاء LFS از طریق HTTP را مشخص می‌کند. مقادیر معتبر عبارتند از \f(CRgzip\fP یا \f(CRzstd\fP\c . پیش‌فرض \f(CRgzip\fP است. .sp این گزینه ممکن است به صورت انتخابی روی برخی URLها اعمال شود و از همان قوانین تطبیق تعریف‌شده برای گزینه‌های \f(CRhttp..*\fP در گیت پیروی کند: .URL "https://git\-scm.com/docs/git\-config#Documentation/git\-config.txt\-httplturlgt" "گزینه‌ها" "." به عنوان مثال، برای تنظیم این گزینه تنها برای یک میزبان خاص، استفاده کنید از: .sp .if n .RS 4 .nf .fam C git config lfs.transfer.https://example.com/.httpDownloadEncoding zstd .fam .fi .if n .RE .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRlfs.transfer.maxretries\fP .sp مشخص می‌کند که LFS قبل از علامت‌گذاری انتقال به عنوان ناموفق، چند بار تلاش مجدد به ازای هر OID انجام دهد. باید یک عدد صحیح و حداقل برابر با یک باشد. اگر مقدار عدد صحیح نباشد، کمتر از یک باشد یا مشخص نشود، مقدار هشت استفاده خواهد شد. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRlfs.transfer.maxretrydelay\fP .sp حداکثر زمان (به ثانیه) را تعیین می‌کند که LFS بین هر تلاش مجدد منتظر خواهد ماند. LFS از عقب‌نشینی نمایی (exponential backoff) برای تلاش‌های مجدد استفاده می‌کند و زمان بین هر تلاش را دو برابر می‌کند تا به این حد برسد. اگر سروری با استفاده از هدر \f(CRRetry\-After\fP درخواست تاخیر کند، مقدار هدر تاخیر نمایی را برای آن تلاش بازنویسی می‌کند و محدود به این گزینه نخواهد بود. .sp باید یک عدد صحیح غیرمنفی باشد. از صفر برای غیرفعال کردن تاخیر بین تلاش‌های مجدد استفاده کنید، مگر اینکه توسط سرور درخواست شده باشد. اگر مقدار عدد صحیح نباشد، منفی باشد، یا مشخص نشود، مقدار ده استفاده خواهد شد. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRlfs.transfer.maxRetryTime\fP .sp حداکثر زمان (به ثانیه) را تعیین می‌کند که LFS قبل از لغو یک انتقال منتظر خواهد ماند، در زمانی که سرور با استفاده از هدر \f(CRRetry\-After\fP درخواست تاخیر کند. اگر سرور زمان انتظاری طولانی‌تر از این مقدار را مشخص کند، LFS به جای صبر کردن برای کل مدت درخواست‌شده، یک هشدار ثبت کرده و انتقال را به عنوان ناموفق علامت‌گذاری می‌کند. .sp باید یک عدد صحیح و حداقل برابر با یک باشد. اگر مقدار عدد صحیح نباشد، کمتر از یک باشد یا مشخص نشود، مقدار ۳۰۰ به جای آن استفاده خواهد شد. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRlfs.transfer.maxverifies\fP .sp مشخص می‌کند در صورتی که شیء دارای یک اقدام راستی‌آزمایی مرتبط باشد، LFS چند درخواست راستی‌آزمایی به ازای هر OID قبل از علامت‌گذاری انتقال به عنوان ناموفق انجام خواهد داد. باید یک عدد صحیح و حداقل برابر با یک باشد. اگر مقدار عدد صحیح نباشد، کمتر از یک باشد یا مشخص نشود، مقدار پیش‌فرض سه استفاده خواهد شد. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRlfs.transfer.enablehrefrewrite\fP .sp اگر روی true تنظیم شود، بازنویسی href اشیاء LFS را با استفاده از پیکربندی \f(CRurl.*.insteadof/pushinsteadof\fP فعال می‌کند. گزینه \f(CRpushinsteadof\fP فقط برای بارگذاری استفاده می‌شود، و \f(CRinsteadof\fP برای بارگیری و همچنین برای بارگذاری در زمانی که \f(CRpushinsteadof\fP تنظیم نشده باشد استفاده می‌گردد. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRlfs.transfer.batchSize\fP .sp تعداد اشیاء برای بارگیری/بارگذاری که در یک درخواست دسته‌ای (batch) واحد به سرور LFS ارسال می‌شوند. پیش‌فرض ۱۰۰ است. .sp این مقدار باید با احتیاط تغییر داده شود، چرا که می‌تواند تاثیر چشمگیری بر کارایی سرور LFS بگذارد؛ همچنین همان‌طور که در مشخصات Batch API ذکر شده است، سرور در صورت بیش از حد بالا بودن این مقدار مجاز است کد وضعیت HTTP 413 را برگرداند. .RE .SS "تنظیمات ارسال (Push settings)" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRlfs.allowincompletepush\fP .sp هنگام ارسال (push)، اجازه می‌دهد اشیاء بدون متوقف کردن فرایند ارسال گیت، در کش محلی وجود نداشته باشند. پیش‌فرض: false. .RE .SS "تنظیمات واکشی (Fetch settings)" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRlfs.fetchinclude\fP .sp هنگام واکشی (fetch)، فقط اشیائی را بارگیری می‌کند که با هر یک از موارد این فهرست جداشده با کاما از مسیرها/نام‌فایل‌ها مطابقت داشته باشند. تطبیق نویسه‌های عمومی (wildcard) مطابق با gitignore(5) است. برای مشاهده مثال‌ها به git\-lfs\-fetch(1) مراجعه کنید. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRlfs.fetchexclude\fP .sp هنگام واکشی (fetch)، اشیائی را که با هر یک از موارد این فهرست جداشده با کاما از مسیرها/نام‌فایل‌ها مطابقت دارند بارگیری نمی‌کند. تطبیق نویسه‌های عمومی (wildcard) مطابق با gitignore(5) است. برای مشاهده مثال‌ها به git\-lfs\-fetch(1) مراجعه کنید. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRlfs.fetchrecentrefsdays\fP .sp اگر غیرصفر باشد، ارجاعاتی (refs) را که دارای کامیت‌هایی در بازه N روز از تاریخ جاری هستند واکشی می‌کند. فقط ارجاعات محلی گنجانده می‌شوند مگر اینکه lfs.fetchrecentremoterefs برابر با true باشد. همچنین به عنوان مبنایی برای پاک‌سازی (prune) فایل‌های قدیمی استفاده می‌شود. پیش‌فرض ۷ روز است. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRlfs.fetchrecentremoterefs\fP .sp اگر true باشد، ارجاعات ریموت (برای ریموتی که در حال واکشی آن هستید) و همچنین ارجاعات محلی در بازه زمانی اخیر را واکشی می‌کند. این گزینه برای دریافت اشیاء مربوط به شاخه‌های ریموتی که ممکن است بعداً بخواهید دریافت (checkout) کنید، مفید است. پیش‌فرض true است؛ اگر آن را روی false تنظیم کنید، واکشی برای آن شاخه‌ها تنها زمانی رخ می‌دهد که آن‌ها را دریافت کنید (که مزیت fetch \-\-recent از دست می‌رود)، یا اینکه یک شاخه محلی ردیاب را جداگانه ایجاد کرده و سپس دوباره واکشی کنید. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRlfs.fetchrecentcommitsdays\fP .sp علاوه بر واکشی در ارجاعات، تغییرات قبلی انجام‌شده در بازه N روز از آخرین کامیت روی ارجاع را نیز واکشی می‌کند. این گزینه زمانی که مرتباً تغییرات اخیر را بازبینی می‌کنید مفید است. همچنین به عنوان مبنایی برای پاک‌سازی فایل‌های قدیمی استفاده می‌شود. پیش‌فرض ۰ است (بدون تغییرات قبلی). .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRlfs.fetchrecentalways\fP .sp همیشه طوری عمل می‌کند که گویی گزینه \-\-recent در فراخوانی \f(CRgit lfs fetch\fP گنجانده شده است. پیش‌فرض false است. .RE .SS "تنظیمات پاک‌سازی (Prune settings)" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRlfs.pruneoffsetdays\fP .sp تعداد روزهایی که به تنظیمات \f(CRlfs.fetchrecent*\fP اضافه می‌شود تا مشخص گردد چه مواردی را می‌توان پاک‌سازی کرد. پیش‌فرض ۳ روز است، به این معنی که هر چیزی که در قدیمی‌ترین لبه «بازه اخیر» واکشی شده باشد، ۳ روز بعد واجد شرایط پاک‌سازی خواهد بود. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRlfs.pruneremotetocheck\fP .sp ریموت مورد نظری را تعیین می‌کند که فایل‌های LFS باید به آن ارسال (push) شده باشند تا برای پاک‌سازی محلی واجد شرایط شناخته شوند. همچنین این همان ریموتی است که در صورت فعال بودن \-\-verify\-remote فراخوانی می‌شود. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRlfs.pruneverifyremotealways\fP .sp همیشه دستور \f(CRgit lfs prune\fP را به گونه‌ای اجرا می‌کند که گویی \f(CR\-\-verify\-remote\fP مشخص شده است. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRlfs.pruneverifyunreachablealways\fP .sp همیشه دستور \f(CRgit lfs prune\fP را به گونه‌ای اجرا می‌کند که گویی \f(CR\-\-verify\-unreachable\fP مشخص شده است. .RE .SS "افزونه‌ها (Extensions)" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRlfs.extension..\fP .sp افزونه‌های Git LFS دستکاری جریان‌های فایل را در طول فرایندهای smudge و clean امکان‌پذیر می‌سازند. \f(CRname\fP تنظیمات مربوط به یک افزونه واحد را گروه‌بندی می‌کند و تنظیمات عبارتند از: .sp \fB\f(CRclean\fP\fR: دستوری که هنگام اضافه شدن فایل‌ها به ایندکس اجرا می‌شود .br \fB\f(CRsmudge\fP\fR: دستوری که هنگام نوشته شدن فایل‌ها در نسخه کاری (working copy) اجرا می‌شود .br \fB\f(CRpriority\fP\fR: اولویت و ترتیب این افزونه در مقایسه با سایر افزونه‌ها .RE .SS "سایر تنظیمات (Other settings)" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRlfs..access\fP .sp نکته: این تنظیم معمولاً توسط خود LFS پس از دریافت پاسخ 401 (نیاز به احراز هویت) مقداردهی می‌شود؛ شما معمولاً نیازی به تنظیم دستی آن ندارید. .sp اگر روی «basic» تنظیم شود، قبل از ایجاد درخواست‌های دسته‌ای (batch) به این URL، اعتبارنامه‌ها درخواست خواهند شد؛ در غیر این صورت، در ابتدا یک درخواست عمومی انجام خواهد شد. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRlfs..locksverify\fP .sp تعیین می‌کند که آیا قفل‌ها قبل از ارسال‌های گیت بررسی شوند یا خیر. این کار مانع از آن می‌شود که تغییرات فایل‌هایی را که سایر کاربران قفل کرده‌اند ارسال کنید. قلاب پیش از ارسال (pre\-push hook) در Git LFS رفتار خود را بر اساس مقدار این کلید پیکربندی تغییر می‌دهد. .sp \fB\f(CRnull\fP\fR \- در صورت عدم وجود مقدار، Git LFS تلاش می‌کند فراخوانی را انجام دهد، و در صورتی که خطایی برگرداند هشدار می‌دهد. اگر پاسخ معتبر باشد، Git LFS مقدار را روی \f(CRtrue\fP تنظیم می‌کند و اگر کاربر تلاش کند فایلی را که توسط کاربر دیگری قفل شده به‌روزرسانی کند، ارسال را متوقف خواهد کرد. اگر سرور پاسخ \f(CR501 Not Implemented\fP را برگرداند، Git LFS مقدار را روی \f(CRfalse\fP تنظیم خواهد کرد. .sp \fB\f(CRtrue\fP\fR \- دستور Git LFS تلاش می‌کند قفل‌ها را راستی‌آزمایی کند، و در صورت بروز هرگونه مشکل سرور یا تلاش کاربر برای به‌روزرسانی فایلی که توسط کاربر دیگری قفل شده، ارسال گیت را متوقف می‌سازد. .sp \fB\f(CRfalse\fP\fR \- دستور Git LFS بررسی قفل را در قلاب پیش از ارسال کاملاً نادیده می‌گیرد. در صورتی که از قفل‌گذاری فایل (File Locking) استفاده نمی‌کنید، یا سرور گیت شما فایل‌های قفل‌شده را در زمان ارسال به صورت خودکار راستی‌آزمایی می‌کند، باید این مقدار را تنظیم کنید. .sp از جستجوی پیکربندی URL همان‌طور که شرح داده شده پشتیبانی می‌کند: .URL "https://git\-scm.com/docs/git\-config#Documentation/git\-config.txt\-httplturlgt" "" "." برای تنظیم این مقدار به ازای هر میزبان: .sp \f(CRgit config \-\-global lfs.https://github.com/.locksverify [true|false]\fP. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRlfs.sshtransfer\fP / \f(CRlfs..sshtransfer\fP .sp مشخص می‌کند که آیا انتقال‌های SSH (پروتکل خالص SSH) استفاده شوند یا خیر. به طور پیش‌فرض (یا اگر مقدار روی \f(CRnegotiate\fP تنظیم شده باشد)، ابتدا پروتکل خالص SSH امتحان می‌شود و سپس پروتکل ترکیبی قدیمی‌تر. اگر \f(CRalways\fP استفاده شود، فقط پروتکل خالص SSH امتحان خواهد شد. به همین ترتیب، اگر \f(CRnever\fP استفاده شود، فقط پروتکل ترکیبی امتحان می‌شود. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRlfs..contenttype\fP .sp تعیین می‌کند که آیا Git LFS هنگام بارگذاری با استفاده از مبدل بارگذاری \*(Aqbasic\*(Aq باید تلاش کند یک هدر مناسب \f(CRContent\-Type\fP در HTTP را تشخیص دهد یا خیر. در صورت تنظیم روی false، هدر پیش‌فرض \f(CRContent\-Type: application/octet\-stream\fP به جای آن انتخاب می‌شود. پیش‌فرض: \*(Aqtrue\*(Aq. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRlfs.skipdownloaderrors\fP .sp باعث می‌شود Git LFS هنگام مواجهه با خطای بارگیری، فیلتر smudge را متوقف نکند؛ این امر امکان انجام اقداماتی مانند checkout را حتی در زمانی که قادر به بارگیری محتوای LFS نیستید، فراهم می‌کند. فایل‌های LFS که امکان بارگیری آن‌ها وجود نداشته، حاوی محتوای اشاره‌گر (pointer) خواهند بود. .sp توجه داشته باشید که این امر باعث می‌شود دستورات گیت که فیلتر smudge را فراخوانی می‌کنند، حتی در مواردی که بارگیری‌های LFS با شکست مواجه می‌شوند موفقیت را گزارش کنند، که ممکن است بر اسکریپت‌ها اثر بگذارد. .sp همچنین می‌توانید متغیر محیطی GIT_LFS_SKIP_DOWNLOAD_ERRORS=1 را برای رسیدن به همین نتیجه تنظیم کنید. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRGIT_LFS_PROGRESS\fP .sp این متغیر محیطی باعث می‌شود Git LFS هنگام انجام عملیات cleaning، smudging یا fetching، وضعیت پیشرفت را در یک مسیر فایل مطلق روی دیسک بنویسد. .sp پیشرفت به طور دوره‌ای به صورت افزودن یک سطر جدید به انتهای فایل گزارش می‌شود. هر سطر جدید در قالب زیر خواهد بود: .sp \f(CR / / \fP .sp هر فیلد در زیر توضیح داده شده است: .sp \fB\f(CRdirection\fP\fR: جهت انتقال، شامل «checkout»، «download» یا «upload». .br \fB\f(CRcurrent\fP\fR: شاخص فایلی که در حال حاضر منتقل می‌شود. .br \fB\f(CRtotal files\fP\fR: تعداد تخمینی تمامی فایل‌هایی که باید منتقل شوند. .br \fB\f(CRdownloaded\fP\fR: تعداد بایت‌هایی که تاکنون بارگیری شده است. .br \fB\f(CRtotal\fP\fR: کل اندازه فایل به بایت. .br \fB\f(CRname\fP\fR: نام فایل. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRGIT_LFS_FORCE_PROGRESS\fP \f(CRlfs.forceprogress\fP .sp کنترل می‌کند که آیا Git LFS زمانی که جریان خروجی استاندارد به یک ترمینال متصل نیست، نمایش وضعیت پیشرفت را متوقف کند یا خیر. پیش‌فرض \f(CRfalse\fP است که باعث می‌شود Git LFS تشخیص دهد که آیا stdout یک ترمینال است یا خیر و در صورتی که ترمینال نباشد پیشرفت را متوقف سازد؛ شما می‌توانید این رفتار را غیرفعال کرده و حتی زمانی که جریان خروجی استاندارد ترمینال نیست، با تنظیم هر یک از این متغیرها روی 1، \*(Aqyes\*(Aq یا \*(Aqtrue\*(Aq، نمایش وضعیت پیشرفت را اجباری کنید. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRGIT_LFS_SKIP_SMUDGE\fP .sp مشخص می‌کند که آیا Git LFS هنگام دریافت (checkout) فایل‌ها در نسخه کاری، از تلاش برای تبدیل اشاره‌گرهای فایل‌های ردیابی‌شده به اشیاء متناظر آن‌ها صرف‌نظر کند یا خیر. اگر روی \*(Aqtrue\*(Aq، \*(Aq1\*(Aq، \*(Aqon\*(Aq یا موارد مشابه تنظیم شود، Git LFS از فرایند smudge در هر دو دستور \f(CRgit lfs smudge\fP و \f(CRgit lfs filter\-process\fP صرف‌نظر خواهد کرد. در صورت عدم مقداردهی، یا تنظیم روی \*(Aqfalse\*(Aq، \*(Aq0\*(Aq، \*(Aqoff\*(Aq یا موارد مشابه، Git LFS فایل‌ها را به صورت عادی smudge خواهد کرد. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRGIT_LFS_SKIP_PUSH\fP .sp مشخص می‌کند که آیا Git LFS در یک قلاب پیش از ارسال (pre\-push hook) برای بارگذاری شیء جدید Git LFS تلاش کند یا خیر. اگر روی \*(Aqtrue\*(Aq، \*(Aq1\*(Aq، \*(Aqon\*(Aq یا موارد مشابه تنظیم شود، Git LFS قلاب پیش از ارسال را نادیده می‌گیرد، بنابراین هیچ شیء جدید Git LFS بارگذاری نخواهد شد. در صورت عدم مقداردهی، یا تنظیم روی \*(Aqfalse\*(Aq، \*(Aq0\*(Aq، \*(Aqoff\*(Aq یا موارد مشابه، Git LFS طبق روال عادی عمل خواهد کرد. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRGIT_LFS_SET_LOCKABLE_READONLY\fP \f(CRlfs.setlockablereadonly\fP .sp این تنظیمات که اولی یک متغیر محیطی و دومی یک تنظیم gitconfig است، کنترل می‌کنند که آیا فایل‌هایی که در \f(CRgit lfs track\fP به عنوان \*(Aqlockable\*(Aq علامت‌گذاری شده‌اند، زمانی که توسط کاربر جاری قفل نشده‌اند در نسخه کاری به صورت فقط‌خواندنی (read\-only) درآیند یا خیر. پیش‌فرض \f(CRtrue\fP است؛ شما می‌توانید این رفتار را غیرفعال کرده و با تنظیم هر یک از متغیرها روی 0، \*(Aqno\*(Aq یا \*(Aqfalse\*(Aq، همه فایل‌ها را قابل نوشتن کنید. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRlfs.lockignoredfiles\fP .sp این تنظیم کنترل می‌کند که آیا Git LFS علاوه بر فایل‌های ردیابی‌شده، فایل‌های نادیده‌گرفته‌شده‌ای (ignored) را که با الگوی قفل‌شدنی مطابقت دارند نیز فقط‌خواندنی کند یا خیر. پیش‌فرض \f(CRfalse\fP است؛ می‌توانید این رفتار را با تنظیم این متغیر روی 1، \*(Aqyes\*(Aq یا \*(Aqtrue\*(Aq فعال کنید. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CRlfs.defaulttokenttl\fP .sp این تنظیم، مقدار پیش‌فرض زمان حیات (TTL) توکن را هنگامی که git\-lfs\-authenticate مقدار TTL را در پاسخ JSON نگنجانده اما همچنان آن را اعمال می‌کند، تعیین می‌نماید. .sp توجه داشته باشید که این کار فقط برای مخازن بزرگ‌تری که روی سرورهای LFS میزبانی می‌شوند و TTL را درج نمی‌کنند ضروری است. .RE .SH "LFSCONFIG" .sp فایل .lfsconfig در یک مخزن با همان قالبی که فایل در .git/config ذخیره می‌شود خوانده و تفسیر می‌گردد. این فایل اجازه می‌دهد زیرمجموعه‌ای از کلیدها استفاده شوند که شامل و محدود به موارد زیر است: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} lfs.allowincompletepush .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} lfs.fetchexclude .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} lfs.fetchinclude .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} lfs.gitprotocol .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} lfs.locksverify .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} lfs.pushurl .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} lfs.skipdownloaderrors .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} lfs.url .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} lfs.\(rs{*}.access .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} remote.{name}.lfsurl .RE .sp مجموعه کلیدهای مجاز در این فایل به دلایل امنیتی محدود شده است. .SH "مثال‌ها (EXAMPLES)" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} پیکربندی یک نقطه پایانی (endpoint) سفارشی LFS برای مخزن خود: .RE .sp \f(CRgit config \-f .lfsconfig lfs.url \c .URL "https://lfs.example.com/foo/bar/info/lfs" "" "\fP" .SH "همچنین ببینید (SEE ALSO)" .sp git\-config(1), git\-lfs\-install(1), git\-lfs\-standalone\-file(1), gitattributes(5), gitignore(5). .sp بخشی از مجموعه git\-lfs(1).