'\" t .\" Title: git-lfs-completion .\" Author: [see the "AUTHOR(S)" section] .\" Generator: Asciidoctor 2.0.26 .\" Manual: \ \& .\" Source: \ \& .\" Language: Persian .\" .TH "GIT\-LFS\-COMPLETION" "1" "" "\ \&" "\ \&" .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-completion \- تولید اسکریپت شل برای تکمیل خودکار دستورهای Git LFS .SH "خلاصه دستور (SYNOPSIS)" .sp .nf .fam C \fBgit lfs completion bash\fP \fBgit lfs completion fish\fP \fBgit lfs completion zsh\fP .fam .fi .SH "توضیحات (DESCRIPTION)" .sp اسکریپتی را در خروجی تولید می‌کند که با اجرا در یک نشست از شل مشخص‌شده، تکمیل خودکار با کلید تب (tab\-completion) در خط فرمان را برای دستورهای Git LFS پیاده‌سازی می‌نماید\&. .sp هر شل برای بارگیری اسکریپت تکمیل، چه برای یک نشست منفرد یا به‌طور خودکار هنگام شروع هر نشست جدید، به مجموعه دستورهای متفاوتی نیاز دارد\&. برای جزئیات، بخش «مثال‌ها (EXAMPLES)» را ببینید\&. .sp اسکریپت مربوط به هر شل، امکان تکمیل کلید تب را برای نام‌ها و فلگ‌های دستورهای Git LFS فراهم می‌کند، اما تکمیل اصطلاحات گیت مانند نام‌های ریموت‌ها، شاخه‌ها یا تگ‌های گیت را ارائه نمی‌دهد\&. (این مورد ممکن است در نگارش‌های آیندهٔ Git LFS تغییر کند\&.) .sp به‌طور پیش‌فرض، اسکریپت هر شل از تکمیل دستور Git LFS هنگام فشردن کلید تب پس از نام برنامهٔ \f(CRgit\-lfs\fP پشتیبانی می‌کند\&. برای نمونه، \f(CRgit\-lfs [Tab]\fP دستورهای در دسترس Git LFS مانند \f(CRfetch\fP، \f(CRmigrate\fP و \f(CRpull\fP را فهرست می‌کند، و \f(CRgit\-lfs pull \-\-[Tab]\fP فلگ‌های ممکن برای دستور git\-lfs\-pull(1) را فهرست خواهد کرد\&. .sp با این حال، بیشتر کاربران به استفاده از Git LFS به عنوان برنامه‌ای که توسط گیت فراخوانی می‌شود عادت دارند، مانند \f(CRgit lfs checkout\fP یا \f(CRgit lfs pull\fP\&. برای فعال‌سازی تکمیل کلید تب برای دستورهای Git LFS در این حالت، تکمیل کلید تب برای دستورهای معمولی گیت نیز باید فعال باشد\&. با فرض برقراری این شرط، اسکریپت‌های تولیدشده توسط دستور \f(CRgit lfs completion\fP باید از تکمیل دستورهای Git LFS در صورت وارد شدن نویسهٔ تب پس از \f(CRgit lfs\fP پشتیبانی کنند؛ مانند \f(CRgit lfs [Tab]\fP برای فهرست کردن تمامی دستورهای موجود Git LFS یا \f(CRgit lfs pull \-\-[Tab]\fP برای فهرست کردن فلگ‌های ممکن آن دستور\&. برای جزئیات مربوط به تکمیل کلید تب گیت در شل‌های پشتیبانی‌شده، بخش «شل‌ها (SHELLS)» را ببینید\&. .sp همان‌طور که در تکمیل خودکار کلید تب در شل مرسوم است، پیش از آن‌که نویسهٔ تب باعث اجرای اسکریپت تکمیل Git LFS شود، باید پس از نام دستورهای \f(CRgit\-lfs\fP یا \f(CRgit lfs\fP یک فاصله وارد گردد\&. بدون نویسهٔ فاصله، هر سازوکار فعال تکمیل تب در شل در عوض برنامه‌هایی را جستجو می‌کند که نام آن‌ها دارای پیشوند مطابقی باشد\&. .sp اسکریپت‌های تکمیل از دستورهای «پنهان» Git LFS برای درخواست نتایج تکمیل از کلاینت Git LFS استفاده می‌کنند، به‌ویژه دستورهای \f(CRgit lfs __complete\fP و \f(CRgit lfs __completeNoDesc\fP\&. این دستورها ممکن است در آینده حذف شوند یا عملکرد آن‌ها بدون اطلاع قبلی تغییر کند، بنابراین کاربران نباید آن‌ها را مستقیماً فراخوانی کنند یا آن‌ها را بخشی از رابط خط فرمان رسماً مستندشدهٔ Git LFS در نظر بگیرند\&. .SH "شل‌ها (SHELLS)" .sp دستور \f(CRgit lfs completion\fP از سه شل یونیکس پشتیبانی می‌کند: GNU Bash (مخفف Bourne Again SHell)، fish و Zsh (یا Z shell)\&. تکمیل کلید تب در هر یک از آن‌ها به شکل متفاوتی پیکربندی می‌شود، هم به‌طور کلی و هم به‌طور خاص برای گیت و در نتیجه برای Git LFS\&. .sp در ویندوز، کاربرانی که Git LFS را به عنوان بخشی از پروژهٔ Git for Windows نصب کرده‌اند، به یک شبیه‌ساز شل Bash که همراه با Git for Windows عرضه می‌شود دسترسی دارند\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} Bash: .sp اگرچه Bash به‌طور پیش‌فرض تکمیل کلید تب را برای گیت ارائه نمی‌دهد، یک اسکریپت تکمیل از سوی پروژهٔ گیت در دسترس است، همان‌طور که در مستندات شرح داده شده است: .sp .URL "https://git\-scm.com/book/en/v2/Appendix\-A%3A\-Git\-in\-Other\-Environments\-Git\-in\-Bash" "" "" .sp اسکریپت بازگردانده‌شده توسط دستور \f(CRgit lfs completion bash\fP باید با این اسکریپت تکمیل گیت سازگار باشد و امکان تکمیل کلید تب دستورهای Git LFS واردشده با هر یک از قالب‌های دستوری \f(CRgit lfs\fP یا \f(CRgit\-lfs\fP را فراهم آورد\&. .sp پس از دریافت نسخه‌ای از اسکریپت تکمیل گیت متناسب با نگارش گیت خود، دستور زیر را برای بارگیری اسکریپت در نشست جاری خود اجرا کنید: .sp .if n .RS 4 .nf .fam C $ source git\-completion.bash .fam .fi .if n .RE .sp برای بارگیری اسکریپت در تمام نشست‌های آینده، این دستور را به فایل‌های راه‌اندازی شل Bash خود اضافه کنید، یا فایل را در یکی از مکان‌هایی که توسط ابزارهای کمکی بستهٔ bash\-completion جستجو می‌شود قرار دهید\&. .sp پروژهٔ bash\-completion که از خود شل GNU Bash مجزاست، شامل تعداد زیادی اسکریپت تکمیل دستور و ابزارهای کمکی برای بارگیری خودکار آن‌ها هنگام شروع نشست جدید است: .sp .URL "https://github.com/scop/bash\-completion" "" "" .sp اسکریپت تکمیل Git LFS برای Bash به چند تابع ارائه‌شده توسط بستهٔ bash\-completion وابسته است، و بنابراین آن بسته باید نصب شده باشد تا بتوان از تکمیل کلید تب با دستورهای Git LFS استفاده کرد\&. (با این حال، وجود آن برای اسکریپت تکمیل گیت در Bash الزامی نیست\&.) .sp با فرض نصب بودن بستهٔ bash\-completion، برای بارگیری اسکریپت تکمیل گیت در تمام نشست‌های آینده که توسط کاربر فعلی آغاز می‌شوند (و نه همهٔ کاربران)، اسکریپت \f(CRgit\-completion.bash\fP را در دایرکتوری \f(CRbash\-completion/completions\fP درون مکانی که با متغیر محیطی \f(CRXDG_DATA_HOME\fP تعریف شده است، یا اگر این متغیر تعریف نشده باشد، در دایرکتوری \f(CR~/.local/share\fP قرار دهید\&. برای نمونه: .sp .if n .RS 4 .nf .fam C $ cp git\-completion.bash ~/.local/share/bash\-completion/completions/git .fam .fi .if n .RE .sp برای این‌که ابزارهای کمکی bash\-completion اسکریپت تکمیل گیت را برای همهٔ کاربران بارگیری کنند، اسکریپت تکمیل گیت را در دایرکتوری سیستمی مناسب قرار دهید\&. در لینوکس این مسیر ممکن است \f(CR/usr/share/bash\-completion/completions\fP باشد، و در macOS هنگامی که bash\-completion با استفاده از Homebrew نصب شده باشد، ممکن است دایرکتوری \f(CRshare/bash\-completion/completions\fP درون مکانی باشد که با دستور \f(CRbrew \-\-prefix\fP بازگردانده می‌شود\&. با این حال، این مکان‌ها بسته به نحوهٔ نصب بستهٔ bash\-completion متفاوت خواهد بود\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} fish: .sp شل fish پیاده‌سازی اختصاصی خود را از تکمیل کلید تب دستورهای گیت ارائه می‌دهد که در یک فایل \f(CRgit.fish\fP تعریف شده و احتمالاً به‌طور پیش‌فرض در فهرست مکان‌هایی که شل برای اسکریپت‌های تکمیل جستجو می‌کند وجود دارد\&. .sp اسکریپت بازگردانده‌شده توسط دستور \f(CRgit lfs completion fish\fP باید با این پیاده‌سازی سازگار باشد و امکان تکمیل کلید تب دستورهای Git LFS واردشده با هر یک از قالب‌های دستوری \f(CRgit lfs\fP یا \f(CRgit\-lfs\fP را فراهم آورد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} Zsh: .sp برای فعال‌سازی تکمیل کلید تب در Zsh برای هر دستوری، تابع \f(CRcompinit\fP باید ابتدا با دستوری شبیه به زیر بارگیری شود: .sp .if n .RS 4 .nf .fam C % autoload \-Uz compinit && compinit .fam .fi .if n .RE .sp این کار می‌تواند به‌طور جداگانه برای هر نشست انجام شود، یا به یک فایل راه‌اندازی مانند \f(CR~/.zshrc\fP یا \f(CR/etc/zshrc\fP اضافه شود تا برای همهٔ نشست‌های آینده اعمال گردد، چه برای کاربر فعلی یا برای همهٔ کاربران\&. .sp شل Zsh توابع تکمیل را از مکان‌های مشخص‌شده در متغیر محیطی \f(CRFPATH\fP می‌خواند، به‌طوری که مسیرهای فهرست‌شده در ابتدا اولویت دارند\&. این فهرست همچنین به عنوان یک آرایه در متغیر \f(CRfpath\fP در دسترس است؛ شل به‌طور خودکار \f(CRFPATH\fP و \f(CRfpath\fP را همگام‌سازی می‌کند\&. .sp شل Z پیاده‌سازی اختصاصی خود را از تکمیل کلید تب دستورهای گیت ارائه می‌دهد که در یک فایل \f(CR_git\fP تعریف شده و احتمالاً در یکی از مکان‌های مشخص‌شده در \f(CRfpath\fP حضور دارد\&. .sp اسکریپت بازگردانده‌شده توسط دستور \f(CRgit lfs completion zsh\fP باید با این پیاده‌سازی سازگار باشد و امکان تکمیل کلید تب دستورهای Git LFS واردشده با هر یک از قالب‌های دستوری \f(CRgit lfs\fP یا \f(CRgit\-lfs\fP را فراهم آورد\&. .sp پروژهٔ گیت همچنین اسکریپت‌های تکمیلی را برای Zsh در قالب همان اسکریپت \f(CRgit\-completion.bash\fP مورد استفاده برای شل Bash، به همراه یک اسکریپت \f(CRgit\-completion.zsh\fP ارائه می‌دهد که قرار است نام آن به \f(CR_git\fP تغییر داده شده و در یکی از مکان‌های فهرست‌شده در \f(CRfpath\fP قرار داده شود\&. این اسکریپت‌ها با اسکریپت بازگردانده‌شده توسط دستور \f(CRgit lfs completion zsh\fP سازگار نیستند، و در صورت استفاده در کنار آن اسکریپت، تکمیل کلید تب دستورهای Git LFS هنگامی که با قالب دستوری \f(CRgit lfs\fP شروع شود به‌درستی کار نخواهد کرد\&. .sp در macOS، چنانچه گیت با استفاده از Homebrew نصب شده باشد، اسکریپت‌های تکمیل Zsh متعلق به پروژهٔ گیت ممکن است در مکانی نصب شوند که نسبت به پیاده‌سازی ارائه‌شده توسط Zsh اولویت پیدا کنند\&. در این حالت، برای استفادهٔ کامل از اسکریپت بازگردانده‌شده توسط \f(CRgit lfs completion zsh\fP، فایل اسکریپت تکمیل \f(CR_git\fP که توسط Homebrew برای گیت نصب شده است باید جابه‌جا یا حذف شود تا در ترتیب مسیرهای مشخص‌شده توسط \f(CRfpath\fP جلوتر از اسکریپت تکمیل گیت خودِ شل Z قرار نگیرد\&. .RE .SH "مثال‌ها (EXAMPLES)" .SS "بارگیری تکمیل‌ها برای نشست فعلی شل" .sp برای بارگیری تکمیل دستورهای Git LFS صرفاً برای نشست فعلی شل، اسکریپت تولیدشده توسط \f(CRgit lfs completion\fP را مستقیماً اجرا کنید\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} Bash: .sp .if n .RS 4 .nf .fam C $ source <(git lfs completion bash) .fam .fi .if n .RE .sp توجه داشته باشید که در Bash 3.2، دستور داخلی \f(CRsource\fP خروجی جایگزینی فرآیند (process substitution) را به‌درستی اجرا نمی‌کند، بنابراین لازم است در عوض از یک فایل موقت استفاده شود: .sp .if n .RS 4 .nf .fam C $ git lfs completion bash >git\-lfs\-completion.bash $ source git\-lfs\-completion.bash .fam .fi .if n .RE .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} fish: .sp .if n .RS 4 .nf .fam C > git lfs completion fish | source .fam .fi .if n .RE .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} zsh: .sp توجه داشته باشید که همان‌طور که در بخش «شل‌ها (SHELLS)» توضیح داده شد، تابع \f(CRcompinit\fP نیز باید برای فعال‌سازی تکمیل کلید تب اجرا شود\&. .sp .if n .RS 4 .nf .fam C % source <(git lfs completion zsh) .fam .fi .if n .RE .RE .SS "بارگیری خودکار تکمیل‌ها برای نشست‌های آیندهٔ شل" .sp برای بارگیری تکمیل‌های دستور Git LFS در تمامی نشست‌های آیندهٔ شل، اسکریپت تولیدشده توسط \f(CRgit lfs completion\fP را در مکانی ذخیره کنید که هنگام راه‌اندازی نشست توسط شل شما خوانده شود\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} Bash: .sp همان‌طور که در بخش «شل‌ها (SHELLS)» اشاره شد، بستهٔ bash\-completion برای اسکریپت‌های تکمیل Git LFS در Bash الزامی است، و همچنین ابزارهای کمکی مناسبی فراهم می‌کند که اسکریپت‌های تکمیل را در مجموعه‌ای از مکان‌های تعریف‌شده جستجو کرده و در زمان راه‌اندازی نشست اجرا می‌کنند\&. .sp برای بارگیری اسکریپت تکمیل Git LFS در تمام نشست‌های آینده که توسط کاربر فعلی آغاز می‌شوند (اما نه سایر کاربران)، اسکریپت را در دایرکتوری \f(CRbash\-completion/completions\fP درون مکانی که با متغیر محیطی \f(CRXDG_DATA_HOME\fP تعریف شده است، یا در صورت تعریف نشدن این متغیر، در دایرکتوری \f(CR~/.local/share\fP ذخیره کنید\&. برای نمونه: .sp .if n .RS 4 .nf .fam C $ mkdir \-p ~/.local/share/bash\-completion/completions $ git lfs completion bash >~/.local/share/bash\-completion/completions/git\-lfs .fam .fi .if n .RE .sp برای بارگیری اسکریپت تکمیل در نشست‌های آیندهٔ همهٔ کاربران، اسکریپت را در دایرکتوری سیستمی مناسب ذخیره کنید، که در لینوکس ممکن است \f(CR/usr/share/bash\-completion/completions\fP باشد، یا در macOS در صورتی که bash\-completion با استفاده از Homebrew نصب شده باشد، ممکن است دایرکتوری \f(CRshare/bash\-completion/completions\fP درون مکانی باشد که با دستور \f(CRbrew \-\-prefix\fP بازگردانده می‌شود\&. با این حال، این مکان‌ها بسته به نحوهٔ نصب و پیکربندی بستهٔ bash\-completion متفاوت خواهد بود\&. برای جزئیات، مستندات مربوط به بستهٔ bash\-completion سیستم خود را بررسی کنید\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} fish: .sp شل fish مکان‌های متعددی را برای اسکریپت‌های تکمیل جستجو می‌کند، همان‌گونه که در مستندات شرح داده شده است: .sp .URL "https://fishshell.com/docs/current/completions.html#where\-to\-put\-completions" "" "" .sp برای بارگیری اسکریپت تکمیل Git LFS در تمامی نشست‌های آغازشده توسط کاربر فعلی (اما نه سایر کاربران)، اسکریپت را در دایرکتوری \f(CRfish/completions\fP درون مکانی که با متغیر محیطی \f(CRXDG_CONFIG_HOME\fP تعریف شده است، یا در صورت تعریف نشدن آن متغیر، در دایرکتوری \f(CR~/.config\fP ذخیره کنید\&. برای نمونه: .sp .if n .RS 4 .nf .fam C > mkdir \-p ~/.config/fish/completions > git lfs completion fish >~/.config/fish/completions/git\-lfs.fish .fam .fi .if n .RE .sp برای بارگیری اسکریپت تکمیل در نشست‌های آیندهٔ همهٔ کاربران، اسکریپت را در یکی دیگر از مکان‌هایی که شل جستجو می‌کند، مانند زیرشاخهٔ \f(CRfish/completions\fP درون دایرکتوری پیکربندی سیستمی شل ذخیره کنید\&. در لینوکس این مسیر معمولاً \f(CR/etc/fish/completions\fP است\&. در macOS هنگامی که شل fish با استفاده از Homebrew نصب شده باشد، این مسیر معمولاً دایرکتوری \f(CRetc/fish/completions\fP درون مکانی است که با دستور \f(CRbrew \-\-prefix\fP بازگردانده می‌شود\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} zsh: .sp توجه داشته باشید که همان‌طور که در بخش «شل‌ها (SHELLS)» توضیح داده شد، تابع \f(CRcompinit\fP نیز باید برای فعال‌سازی تکمیل کلید تب اجرا شود\&. .sp برای بارگیری اسکریپت تکمیل Git LFS در همهٔ نشست‌ها، اسکریپت را به عنوان فایلی با نام \f(CR_git\-lfs\fP در یکی از مکان‌های فهرست‌شده در متغیر \f(CRfpath\fP ذخیره کنید\&. مکان خاص انتخاب‌شده، بسته به نحوهٔ ساخته شدن مجموعه مسیرها در آرایهٔ \f(CRfpath\fP، ممکن است بر این‌که اسکریپت تکمیل فقط برای نشست‌های آغازشده توسط کاربر جاری یا برای نشست‌های همهٔ کاربران بارگیری شود، تأثیر بگذارد\&. .sp دستور زیر اسکریپت را در نخستین مکان تعریف‌شده در \f(CRfpath\fP ذخیره می‌کند: .sp .if n .RS 4 .nf .fam C % git lfs completion zsh >"${fpath[1]}/_git\-lfs" .fam .fi .if n .RE .sp همچنین ممکن است ترجیح دهید فایل را در مکان دیگری که در \f(CRfpath\fP تعریف شده است ذخیره کنید، برای نمونه در آخرین مکان، که در این حالت باید در عوض از \f(CR${fpath[\-1]}\fP استفاده شود\&. .sp همچنین این امکان وجود دارد که یک مکان سفارشی به فهرست \f(CRfpath\fP افزوده شده و اسکریپت تکمیل Git LFS در آن‌جا ذخیره شود\&. برای انجام این کار، دستوراتی را که متغیر \f(CRfpath\fP را به‌روز می‌کنند به یک فایل راه‌اندازی مانند \f(CR~/.zshrc\fP یا \f(CR/etc/zshrc\fP بیفزایید تا برای تمامی نشست‌های آینده اعمال شوند، چه برای کاربر فعلی یا برای همهٔ کاربران\&. .RE .SH "همچنین ببینید (SEE ALSO)" .sp بخشی از مجموعهٔ git\-lfs(1)\&.