'\" t .\" Title: git-config .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026-06-29 .\" Manual: Git Manual .\" Source: Git 2.55.0 .\" Language: Persian .\" .TH "GIT\-CONFIG" "1" "2026\-06\-29" "Git 2\&.55\&.0" "Git Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "نام (NAME)" git-config \- دریافت و تنظیم گزینه‌های مخزن یا سراسری .SH "خلاصه دستور (SYNOPSIS)" .sp .nf \fIgit config list\fR [] [] [\-\-includes] \fIgit config get\fR [] [] [\-\-includes] [\-\-all] [\-\-regexp] [\-\-value=] [\-\-fixed\-value] [\-\-default=] [\-\-url=] \fIgit config set\fR [] [\-\-type=] [\-\-all] [\-\-value=] [\-\-fixed\-value] \fIgit config unset\fR [] [\-\-all] [\-\-value=] [\-\-fixed\-value] \fIgit config rename\-section\fR [] \fIgit config remove\-section\fR [] \fIgit config edit\fR [] \fIgit config\fR [] \-\-get\-colorbool [] .fi .sp .SH "توضیحات (DESCRIPTION)" .sp با استفاده از این دستور می‌توانید گزینه‌ها را پرس‌وجو، تنظیم، جایگزین یا لغو (unset) کنید\&. نام در واقع متشکل از بخش و کلید است که با یک نقطه از هم جدا شده‌اند، و مقدار اسکیپ خواهد شد\&. .sp با استفاده از گزینه \fB\-\-append\fR می‌توان چندین خط را به یک گزینه اضافه کرد\&. اگر می‌خواهید گزینه‌ای را که می‌تواند در چندین خط وجود داشته باشد به‌روزرسانی یا لغو کنید، باید \fB\-\-value=\fR\fI\fR (که یک عبارت منظم گسترش‌یافته است، مگر اینکه گزینه \fB\-\-fixed\-value\fR داده شده باشد) مشخص شود\&. تنها مقادیر موجودی که با الگو مطابقت دارند به‌روزرسانی یا لغو می‌شوند\&. اگر می‌خواهید خطوطی را مدیریت کنید که با الگو مطابقت \fBندارند\fR، کافی است یک علامت تعجب منفرد در ابتدای آن قرار دهید (همچنین بخش «مثال‌ها (EXAMPLES)» را ببینید)، اما توجه داشته باشید که این کار تنها زمانی کار می‌کند که گزینه \fB\-\-fixed\-value\fR در حال استفاده نباشد\&. .sp گزینه \fB\-\-type=\fR\fI\fR به \fIgit config\fR دستور می‌دهد تا اطمینان حاصل کند مقادیر ورودی و خروجی تحت داده‌شده قابلیت استانداردسازی (canonicalize) دارند\&. اگر هیچ \fB\-\-type=\fR\fI\fR مشخص نشود، هیچ استانداردسازی انجام نخواهد شد\&. فراخوانندگان می‌توانند مشخص‌کننده موجود \fB\-\-type\fR را با \fB\-\-no\-type\fR لغو کنند\&. .sp هنگام خواندن، مقادیر به صورت پیش‌فرض از فایل‌های پیکربندی سراسری سیستم (system)، سراسری کاربر (global) و محلی مخزن (local) خوانده می‌شوند، و می‌توان از گزینه‌های \fB\-\-system\fR، \fB\-\-global\fR، \fB\-\-local\fR، \fB\-\-worktree\fR و \fB\-\-file\fR \fI\fR استفاده کرد تا به دستور گفته شود فقط از همان مکان بخواند (بخش «فایل‌ها (FILES)» را ببینید)\&. .sp هنگام نوشتن، مقدار جدید به صورت پیش‌فرض در فایل پیکربندی محلی مخزن نوشته می‌شود، و می‌توان از گزینه‌های \fB\-\-system\fR، \fB\-\-global\fR، \fB\-\-worktree\fR و \fB\-\-file\fR \fI\fR استفاده کرد تا به دستور گفته شود در آن مکان بنویسد (می‌توانید \fB\-\-local\fR را مشخص کنید اما این حالت پیش‌فرض است)\&. .sp این دستور در صورت بروز خطا با وضعیتی غیر از صفر خارج می‌شود\&. برخی از کدهای خروج عبارتند از: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} بخش یا کلید نامعتبر است (ret=1)، .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} هیچ بخش یا نامی ارائه نشده است (ret=2)، .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} فایل پیکربندی نامعتبر است (ret=3)، .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} نوشتن در فایل پیکربندی امکان‌پذیر نیست (ret=4)، .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} تلاش برای لغو گزینه‌ای که وجود ندارد (ret=5)، .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} تلاش برای لغو/تنظیم گزینه‌ای که چندین خط با آن مطابقت دارند (ret=5)، یا .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} تلاش برای استفاده از عبارت منظم نامعتبر (ret=6)\&. .RE .sp در صورت موفقیت، این دستور با کد خروج 0 خارج می‌شود\&. .sp فهرستی از تمام متغیرهای پیکربندی موجود را می‌توان با استفاده از دستور \fBgit\fR \fBhelp\fR \fB\-\-config\fR به دست آورد\&. .SH "دستورها (COMMANDS)" .PP list .RS 4 فهرست کردن تمام متغیرهای تنظیم‌شده در فایل پیکربندی، همراه با مقادیر آن‌ها\&. .RE .PP get .RS 4 مقدار کلید مشخص‌شده را برمی‌گرداند\&. اگر کلید چندین بار در پیکربندی وجود داشته باشد، آخرین مقدار را برمی‌گرداند\&. اگر \fB\-\-all\fR مشخص شده باشد، تمام مقادیر مرتبط با کلید را برمی‌گرداند\&. اگر کلید وجود نداشته باشد، کد خطای 1 را برمی‌گرداند\&. .RE .PP set .RS 4 تنظیم مقدار برای یک یا چند گزینه پیکربندی\&. به صورت پیش‌فرض، این دستور از نوشتن گزینه‌های پیکربندی چندمقداری خودداری می‌کند\&. ارسال \fB\-\-all\fR تمام گزینه‌های پیکربندی چندمقداری را با مقدار جدید جایگزین می‌کند، در حالی که \fB\-\-value=\fR تمام گزینه‌های پیکربندی را که مقادیرشان با الگوی داده‌شده مطابقت دارد جایگزین خواهد کرد\&. .RE .PP unset .RS 4 لغو مقدار برای یک یا چند گزینه پیکربندی\&. به صورت پیش‌فرض، این دستور از لغو کلیدهای چندمقداری خودداری می‌کند\&. ارسال \fB\-\-all\fR تمام گزینه‌های پیکربندی چندمقداری را لغو می‌کند، در حالی که \fB\-\-value\fR تمام گزینه‌های پیکربندی را که مقادیرشان با الگوی داده‌شده مطابقت دارد لغو خواهد کرد\&. .RE .PP rename\-section .RS 4 تغییر نام بخش داده‌شده به نام جدید\&. .RE .PP remove\-section .RS 4 حذف بخش داده‌شده از فایل پیکربندی\&. .RE .PP edit .RS 4 یک ویرایشگر را برای تغییر فایل پیکربندی مشخص‌شده باز می‌کند؛ شامل \fB\-\-system\fR، \fB\-\-global\fR، \fB\-\-local\fR (پیش‌فرض)، \fB\-\-worktree\fR، یا \fB\-\-file\fR \fI\fR\&. .RE .SH "گزینه‌ها (OPTIONS)" .PP \-\-replace\-all .RS 4 رفتار پیش‌فرض، جایگزینی حداکثر یک خط است\&. این گزینه تمام خطوط منطبق با کلید (و به صورت اختیاری \fB\-\-value=\fR\fI\fR) را جایگزین می‌کند\&. .RE .PP \-\-append .RS 4 بدون تغییر هیچ‌یک از مقادیر موجود، یک خط جدید به گزینه اضافه می‌کند\&. این کار همانند ارائه \fI\-\-value=^$\fR در \fBset\fR است\&. .RE .PP \-\-comment .RS 4 افزودن یک توضیح (کامنت) در انتهای خطوط جدید یا تغییریافته\&. .sp اگر \fI\fR با یک یا چند نویسه فاصله و به دنبال آن # شروع شود، همان‌طور که هست استفاده می‌شود\&. اگر با # شروع شود، پیش از استفاده یک فاصله به ابتدای آن اضافه می‌شود\&. در غیر این صورت، رشته " # " (یک فاصله و سپس علامت هش و سپس یک فاصله) به ابتدای آن اضافه خواهد شد\&. رشته حاصل بلافاصله پس از مقدار تعریف‌شده برای متغیر قرار می‌گیرد\&. \fI\fR نباید حاوی نویسه‌های خط جدید (linefeed) باشد (توضیحات چندخطی مجاز نیستند)\&. .RE .PP \-\-all .RS 4 همراه با \fBget\fR، تمام مقادیر یک کلید چندمقداری را برمی‌گرداند\&. .RE .PP \-\-regexp .RS 4 همراه با \fBget\fR، نام را به عنوان یک عبارت منظم تفسیر می‌کند\&. تطبیق عبارت منظم در حال حاضر به حروف بزرگ و کوچک حساس است و روی نسخه استانداردشده کلید انجام می‌شود که در آن نام‌های بخش و متغیر با حروف کوچک نوشته شده‌اند، اما نام زیربخش‌ها تغییر نیافته‌اند\&. .RE .PP \-\-url= .RS 4 هنگامی که یک دوبخشی به صورت
\&. داده شود، مقداری برای
\&.\&. که بخش آن بهترین تطابق را با URL داده‌شده دارد برگردانده می‌شود (اگر چنین کلیدی وجود نداشته باشد، مقدار
\&. به عنوان جایگزین استفاده می‌شود)\&. هنگامی که فقط
به عنوان نام داده شود، این کار برای تمام کلیدهای آن بخش انجام شده و فهرست می‌شوند\&. در صورتی که مقداری پیدا نشود کد خطای 1 را برمی‌گرداند\&. .RE .PP \-\-global .RS 4 برای گزینه‌های نوشتن: به جای فایل \fB\&.git/config\fR مخزن، در فایل سراسری \fB~/\&.gitconfig\fR می‌نویسد، یا در فایل \fB$XDG_CONFIG_HOME/git/config\fR اگر این فایل موجود باشد و فایل \fB~/\&.gitconfig\fR وجود نداشته باشد\&. .sp برای گزینه‌های خواندن: به جای تمام فایل‌های موجود، فقط از فایل سراسری \fB~/\&.gitconfig\fR و از \fB$XDG_CONFIG_HOME/git/config\fR می‌خواند\&. .sp همچنین بخش «فایل‌ها (FILES)» را ببینید\&. .RE .PP \-\-system .RS 4 برای گزینه‌های نوشتن: به جای فایل \fB\&.git/config\fR مخزن، در فایل سراسری سیستم \fB$\fR(\fBprefix\fR)\fB/etc/gitconfig\fR می‌نویسد\&. .sp برای گزینه‌های خواندن: به جای تمام فایل‌های موجود، فقط از فایل سراسری سیستم \fB$\fR(\fBprefix\fR)\fB/etc/gitconfig\fR می‌خواند\&. .sp همچنین بخش «فایل‌ها (FILES)» را ببینید\&. .RE .PP \-\-local .RS 4 برای گزینه‌های نوشتن: در فایل \fB\&.git/config\fR مخزن می‌نویسد\&. این رفتار پیش‌فرض است\&. .sp برای گزینه‌های خواندن: به جای تمام فایل‌های موجود، فقط از فایل \fB\&.git/config\fR مخزن می‌خواند\&. .sp همچنین بخش «فایل‌ها (FILES)» را ببینید\&. .RE .PP \-\-worktree .RS 4 مشابه \fB\-\-local\fR است، به جز اینکه اگر \fBextensions\&.worktreeConfig\fR فعال باشد، از \fB$GIT_DIR/config\&.worktree\fR خوانده یا در آن نوشته می‌شود\&. در غیر این صورت همانند \fB\-\-local\fR خواهد بود\&. توجه داشته باشید که \fB$GIT_DIR\fR برای درخت کاری اصلی برابر با \fB$GIT_COMMON_DIR\fR است، اما برای سایر درخت‌های کاری به شکل \fB$GIT_DIR/worktrees/\fR\fI\fR\fB/\fR است\&. برای یادگیری نحوه فعال‌سازی \fBextensions\&.worktreeConfig\fR به \fBgit-worktree\fR(1) مراجعه کنید\&. .RE .PP \-f , \-\-file .RS 4 برای گزینه‌های نوشتن: به جای فایل \fB\&.git/config\fR مخزن، در فایل مشخص‌شده می‌نویسد\&. .sp برای گزینه‌های خواندن: به جای تمام فایل‌های موجود، فقط از فایل مشخص‌شده می‌خواند\&. .sp همچنین بخش «فایل‌ها (FILES)» را ببینید\&. .RE .PP \-\-blob .RS 4 مشابه \fB\-\-file\fR است اما به جای فایل از blob داده‌شده استفاده می‌کند\&. برای مثال می‌توانید از \fImaster:\&.gitmodules\fR برای خواندن مقادیر از فایل \fI\&.gitmodules\fR در شاخه master استفاده کنید\&. برای فهرست کامل‌تری از روش‌های نگارش نام‌های blob، بخش «SPECIFYING REVISIONS» در \fBgitrevisions\fR(7) را ببینید\&. .RE .PP \fB\-\-value=\fR\fI\fR, \fB\-\-no\-value\fR .RS 4 همراه با \fBget\fR، \fBset\fR و \fBunset\fR، تنها با \fI\fR تطبیق داده می‌شود\&. این الگو یک عبارت منظم گسترش‌یافته است مگر اینکه \fB\-\-fixed\-value\fR داده شده باشد\&. .sp از \fB\-\-no\-value\fR برای لغو \fI\fR استفاده کنید\&. .RE .PP \-\-fixed\-value .RS 4 هنگامی که همراه با \fB\-\-value=\fR\fI\fR استفاده شود، با \fI\fR به عنوان یک رشته دقیق به جای عبارت منظم رفتار می‌کند\&. این کار جفت‌های نام/مقداری را که مطابقت داده می‌شوند تنها به مواردی محدود می‌کند که مقدار دقیقاً برابر با \fI\fR باشد\&. .RE .PP \-\-type .RS 4 دستور \fIgit config\fR اطمینان حاصل خواهد کرد که هر ورودی یا خروجی تحت محدودیت(های) نوع داده‌شده معتبر باشد، و مقادیر خروجی را به شکل استاندارد \fI\fR\*(Aqs تبدیل خواهد کرد\&. .sp انواع معتبر \fI\fR\*(Aqs عبارتند از: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIbool\fR: استانداردسازی مقادیر \fBtrue\fR، \fByes\fR، \fBon\fR و اعداد مثبت به عنوان "true"، و مقادیر \fBfalse\fR، \fBno\fR، \fBoff\fR و \fB0\fR به عنوان "false"\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIint\fR: استانداردسازی مقادیر به صورت اعداد ده‌دهی ساده\&. یک پسوند اختیاری از \fIk\fR، \fIm\fR یا \fIg\fR باعث می‌شود که مقدار در هنگام ورودی در 1024، 1048576 یا 1073741824 ضرب شود\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIbool\-or\-int\fR: استانداردسازی بر اساس \fIbool\fR یا \fIint\fR، همان‌طور که در بالا توضیح داده شد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIpath\fR: استانداردسازی با گسترش \fB~\fR ابتدایی به مقدار \fB$HOME\fR و \fB~user\fR به دایرکتوری خانگی کاربر مشخص‌شده\&. این مشخص‌کننده هنگام تنظیم مقدار هیچ اثری ندارد (اما می‌توانید از \fBgit\fR \fBconfig\fR \fBsection\&.variable\fR \fB~/\fR از خط فرمان استفاده کنید تا پوسته شما عمل گسترش را انجام دهد\&.) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIexpiry\-date\fR: استانداردسازی با تبدیل از یک رشته تاریخ ثابت یا نسبی به یک برچسب زمان (timestamp)\&. این مشخص‌کننده هنگام تنظیم مقدار هیچ اثری ندارد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIcolor\fR: هنگام دریافت مقدار، با تبدیل به یک توالی گریز رنگ ANSI استانداردسازی می‌شود\&. هنگام تنظیم مقدار، یک بررسی صحت انجام می‌شود تا اطمینان حاصل شود که مقدار داده‌شده به عنوان یک رنگ ANSI قابلیت استانداردسازی دارد، اما همان‌طور که هست نوشته می‌شود\&. .RE .sp اگر دستور در حالت \fBlist\fR باشد، آنگاه آرگومان \fB\-\-type\fR \fI\fR برای هر مقدار پیکربندی فهرست‌شده اعمال خواهد شد\&. اگر مقدار با موفقیت در آن قالب تجزیه نشود، از فهرست حذف خواهد شد\&. .RE .PP \-\-bool, \-\-int, \-\-bool\-or\-int, \-\-path, \-\-expiry\-date .RS 4 گزینه‌های قدیمی برای انتخاب یک مشخص‌کننده نوع\&. در عوض ترجیحاً از \fB\-\-type\fR استفاده کنید (بالا را ببینید)\&. .RE .PP \-\-no\-type .RS 4 مشخص‌کننده نوعی را که پیش‌تر تنظیم شده بود لغو می‌کند (اگر پیش‌تر تنظیم شده باشد)\&. این گزینه درخواست می‌کند که \fIgit config\fR متغیر بازیابی‌شده را استانداردسازی نکند\&. \fB\-\-no\-type\fR بدون \fB\-\-type=\fR\fI\fR یا \fB\-\-\fR\fI\fR هیچ اثری ندارد\&. .RE .PP \-z, \-\-null .RS 4 برای تمام گزینه‌هایی که مقادیر و/یا کلیدها را خروجی می‌دهند، همواره مقادیر را با نویسه null خاتمه می‌دهد (به جای خط جدید)\&. در عوض از خط جدید به عنوان جداکننده میان کلید و مقدار استفاده می‌کند\&. این کار امکان تجزیه امن خروجی را فراهم می‌آورد بدون اینکه برای مثال به دلیل وجود مقادیری که حاوی شکست خط هستند دچار سردرگمی شود\&. .RE .PP \-\-name\-only .RS 4 تنها نام‌های متغیرهای پیکربندی را برای \fBlist\fR یا \fBget\fR خروجی می‌دهد\&. .RE .PP \fB\-\-show\-names\fR, \fB\-\-no\-show\-names\fR .RS 4 همراه با \fBget\fR، کلیدهای پیکربندی را علاوه بر مقادیر آن‌ها نشان می‌دهد\&. حالت پیش‌فرض \fB\-\-no\-show\-names\fR است، مگر اینکه \fB\-\-url\fR داده شده باشد و هیچ زیربخشی در \fI\fR وجود نداشته باشد\&. .RE .PP \-\-show\-origin .RS 4 خروجی تمام گزینه‌های پیکربندی پرس‌وجوشده را با نوع مبدا (فایل، ورودی استاندارد، blob، خط فرمان) و مبدا واقعی (مسیر فایل پیکربندی، ref، یا شناسه blob در صورت کاربرد) تکمیل می‌کند\&. .RE .PP \-\-show\-scope .RS 4 مشابه \fB\-\-show\-origin\fR است از این نظر که خروجی تمام گزینه‌های پیکربندی پرس‌وجوشده را با محدوده (scope) آن مقدار (worktree، local، global، system، command) تکمیل می‌کند\&. .RE .PP \-\-get\-colorbool [] .RS 4 تنظیمات رنگ را برای \fI\fR (برای مثال \fBcolor\&.diff\fR) پیدا کرده و "true" یا "false" را خروجی می‌دهد\&. \fI\fR باید "true" یا "false" باشد، و هنگامی که پیکربندی روی "auto" باشد در نظر گرفته می‌شود\&. اگر \fI\fR وجود نداشته باشد، خروجی استاندارد خود دستور را بررسی می‌کند و اگر قرار باشد از رنگ استفاده شود با وضعیت 0 خارج می‌شود، و در غیر این صورت با وضعیت 1 خارج می‌شود\&. هنگامی که تنظیمات رنگ برای \fBname\fR تعریف نشده باشد، دستور از \fBcolor\&.ui\fR به عنوان پشتیبان استفاده می‌کند\&. .RE .PP \-\-includes, \-\-no\-includes .RS 4 دستورالعمل‌های \fBinclude\&.*\fR را در فایل‌های پیکربندی هنگام جستجوی مقادیر رعایت می‌کند\&. هنگام مشخص شدن یک فایل خاص (برای مثال، با استفاده از \fB\-\-file\fR، \fB\-\-global\fR و غیره) به طور پیش‌فرض روی \fBoff\fR و هنگام جستجو در تمام فایل‌های پیکربندی روی \fBon\fR قرار دارد\&. .RE .PP \-\-default .RS 4 هنگام استفاده از \fBget\fR، اگر متغیر درخواستی یافت نشود، به گونه‌ای رفتار می‌کند که گویی مقدار تخصیص‌یافته به آن متغیر است\&. .RE .SH "حالت‌های منسوخ‌شده (DEPRECATED MODES)" .sp حالت‌های زیر به نفع زیردستورها منسوخ شده‌اند\&. توصیه می‌شود به نحو (syntax) جدید مهاجرت کنید\&. .PP \fIgit config \fR .RS 4 جایگزین‌شده با \fBgit\fR \fBconfig\fR \fBget\fR \fI\fR\&. .RE .PP \fIgit config []\fR .RS 4 جایگزین‌شده با \fBgit\fR \fBconfig\fR \fBset\fR [\fB\-\-value=\fR\fI\fR] \fI\fR \fI\fR\&. .RE .PP \-l, \-\-list .RS 4 جایگزین‌شده با \fBgit\fR \fBconfig\fR \fBlist\fR\&. .RE .PP \-\-get [] .RS 4 جایگزین‌شده با \fBgit\fR \fBconfig\fR \fBget\fR [\fB\-\-value=\fR\fI\fR] \fI\fR\&. .RE .PP \-\-get\-all [] .RS 4 جایگزین‌شده با \fBgit\fR \fBconfig\fR \fBget\fR [\fB\-\-value=\fR\fI\fR] \fB\-\-all\fR \fI\fR\&. .RE .PP \-\-get\-regexp .RS 4 جایگزین‌شده با \fBgit\fR \fBconfig\fR \fBget\fR \fB\-\-all\fR \fB\-\-show\-names\fR \fB\-\-regexp\fR \fI\fR\&. .RE .PP \-\-get\-urlmatch .RS 4 جایگزین‌شده با \fBgit\fR \fBconfig\fR \fBget\fR \fB\-\-url=\fR\fI\fR \fI\fR\&. .RE .PP \-\-get\-color [] .RS 4 جایگزین‌شده با \fBgit\fR \fBconfig\fR \fBget\fR \fB\-\-type=color\fR [\fB\-\-default=\fR\fI\fR] \fI\fR\&. .RE .PP \-\-add .RS 4 جایگزین‌شده با \fBgit\fR \fBconfig\fR \fBset\fR \fB\-\-append\fR \fI\fR \fI\fR\&. .RE .PP \-\-unset [] .RS 4 جایگزین‌شده با \fBgit\fR \fBconfig\fR \fBunset\fR [\fB\-\-value=\fR\fI\fR] \fI\fR\&. .RE .PP \-\-unset\-all [] .RS 4 جایگزین‌شده با \fBgit\fR \fBconfig\fR \fBunset\fR [\fB\-\-value=\fR\fI\fR] \fB\-\-all\fR \fI\fR\&. .RE .PP \-\-rename\-section .RS 4 جایگزین‌شده با \fBgit\fR \fBconfig\fR \fBrename\-section\fR \fI\fR \fI\fR\&. .RE .PP \-\-remove\-section .RS 4 جایگزین‌شده با \fBgit\fR \fBconfig\fR \fBremove\-section\fR \fI\fR\&. .RE .PP \-e, \-\-edit .RS 4 جایگزین‌شده با \fBgit\fR \fBconfig\fR \fBedit\fR\&. .RE .SH "پیکربندی (CONFIGURATION)" .sp مقدار \fBpager\&.config\fR تنها هنگام فهرست کردن پیکربندی رعایت می‌شود، یعنی هنگام استفاده از \fBlist\fR یا \fBget\fR که ممکن است چندین نتیجه را برگردانند\&. حالت پیش‌فرض استفاده از صفحه‌بند (pager) است\&. .SH "فایل‌ها (FILES)" .sp به صورت پیش‌فرض، \fIgit config\fR گزینه‌های پیکربندی را از چندین فایل خواهد خواند: .PP $(prefix)/etc/gitconfig .RS 4 فایل پیکربندی سراسری سیستم\&. .RE .PP $XDG_CONFIG_HOME/git/config, ~/\&.gitconfig .RS 4 فایل‌های پیکربندی مختص کاربر\&. هنگامی که متغیر محیطی XDG_CONFIG_HOME تنظیم نشده باشد یا خالی باشد، $HOME/\&.config/ به عنوان $XDG_CONFIG_HOME استفاده می‌شود\&. .sp به این فایل‌ها همچنین فایل‌های پیکربندی «سراسری» (global) گفته می‌شود\&. اگر هر دو فایل وجود داشته باشند، هر دو فایل به ترتیبی که در بالا ذکر شد خوانده می‌شوند\&. .RE .PP $GIT_DIR/config .RS 4 فایل پیکربندی مختص مخزن\&. .RE .PP $GIT_DIR/config\&.worktree .RS 4 این فایل اختیاری است و تنها زمانی جستجو می‌شود که \fBextensions\&.worktreeConfig\fR در $GIT_DIR/config وجود داشته باشد\&. .RE .sp همچنین می‌توانید هنگام اجرای هر دستور گیت با استفاده از گزینه \fB\-c\fR پارامترهای پیکربندی اضافی را مشخص کنید\&. برای جزئیات به \fBgit\fR(1) مراجعه کنید\&. .sp گزینه‌ها از تمام فایل‌های موجود از این میان خوانده خواهند شد\&. اگر فایل‌های پیکربندی سراسری کاربر یا سراسری سیستم وجود نداشته باشند یا غیرقابل خواندن باشند، نادیده گرفته می‌شوند\&. اگر فایل پیکربندی مخزن وجود نداشته باشد یا غیرقابل خواندن باشد، \fIgit config\fR با یک کد خطای غیرصفر خارج خواهد شد\&. اگر فایل غیرقابل خواندن باشد پیام خطا صادر می‌شود، اما اگر وجود نداشته باشد پیامی صادر نمی‌شود\&. .sp فایل‌ها به ترتیبی که در بالا آمده است خوانده می‌شوند، به طوری که آخرین مقدار یافت‌شده نسبت به مقادیری که زودتر خوانده شده‌اند اولویت دارد\&. هنگامی که چندین مقدار گرفته شود، آنگاه تمام مقادیر یک کلید از تمام فایل‌ها استفاده خواهد شد\&. .sp به صورت پیش‌فرض، گزینه‌ها تنها در فایل پیکربندی مختص مخزن نوشته می‌شوند\&. توجه داشته باشید که این موضوع بر گزینه‌هایی مانند \fBset\fR و \fBunset\fR نیز اثر می‌گذارد\&. \fB\fIgit config\fR\fR\fB در هر بار فقط یک فایل را تغییر خواهد داد\fR\&. .sp می‌توانید منابع پیکربندی قابل خواندن یا نوشتن را با مشخص کردن مسیر یک فایل با گزینه \fB\-\-file\fR، یا با مشخص کردن یک محدوده پیکربندی با \fB\-\-system\fR، \fB\-\-global\fR، \fB\-\-local\fR یا \fB\-\-worktree\fR محدود کنید\&. برای اطلاعات بیشتر، بخش «گزینه‌ها (OPTIONS)» در بالا را ببینید\&. .SH "محدوده‌ها (SCOPES)" .sp هر منبع پیکربندی درون یک محدوده (scope) پیکربندی قرار می‌گیرد\&. این محدوده‌ها عبارتند از: .PP system .RS 4 $(prefix)/etc/gitconfig .RE .PP global .RS 4 $XDG_CONFIG_HOME/git/config .sp ~/\&.gitconfig .RE .PP local .RS 4 $GIT_DIR/config .RE .PP worktree .RS 4 $GIT_DIR/config\&.worktree .RE .PP command .RS 4 متغیرهای محیطی GIT_CONFIG_{COUNT,KEY,VALUE} (بخش «متغیرهای محیطی (ENVIRONMENT)» در زیر را ببینید) .sp گزینه \fB\-c\fR .RE .sp به استثنای \fIcommand\fR، هر محدوده متناظر با یک گزینه خط فرمان است: \fB\-\-system\fR، \fB\-\-global\fR، \fB\-\-local\fR، \fB\-\-worktree\fR\&. .sp هنگام خواندن گزینه‌ها، تعیین یک محدوده تنها گزینه‌ها را از فایل‌های درون آن محدوده می‌خواند\&. هنگام نوشتن گزینه‌ها، تعیین یک محدوده در فایل‌های درون آن محدوده خواهد نوشت (به جای فایل پیکربندی مختص مخزن)\&. برای توضیحات کامل بخش «گزینه‌ها (OPTIONS)» در بالا را ببینید\&. .sp اکثر گزینه‌های پیکربندی صرف‌نظر از محدوده‌ای که در آن تعریف شده‌اند رعایت می‌شوند، اما برخی گزینه‌ها فقط در محدوده‌های خاصی رعایت می‌گردند\&. برای جزئیات کامل به مستندات گزینه مربوطه مراجعه کنید\&. .SS "پیکربندی محافظت‌شده (Protected configuration)" .sp پیکربندی محافظت‌شده به محدوده‌های \fIsystem\fR، \fIglobal\fR و \fIcommand\fR اشاره دارد\&. به دلایل امنیتی، گزینه‌های خاصی تنها زمانی رعایت می‌شوند که در پیکربندی محافظت‌شده مشخص شده باشند، و در غیر این صورت نادیده گرفته می‌شوند\&. .sp گیت با این محدوده‌ها طوری رفتار می‌کند که گویی توسط کاربر یا یک مدیر سیستم مورد اعتماد کنترل می‌شوند\&. دلیل این امر آن است که یک مهاجم که این محدوده‌ها را کنترل کند می‌تواند بدون استفاده از گیت آسیب‌های قابل توجهی وارد سازد، بنابراین فرض بر این است که محیط کاربر از این محدوده‌ها در برابر مهاجمان محافظت می‌کند\&. .SH "متغیرهای محیطی (ENVIRONMENT)" .PP GIT_CONFIG_GLOBAL, GIT_CONFIG_SYSTEM .RS 4 پیکربندی را به جای پیکربندی در سطح سراسری (global) یا سطح سیستم (system) از فایل‌های داده‌شده دریافت می‌کند\&. برای جزئیات به \fBgit\fR(1) مراجعه کنید\&. .RE .PP GIT_CONFIG_NOSYSTEM .RS 4 اینکه آیا خواندن تنظیمات از فایل سراسری سیستم $(prefix)/etc/gitconfig نادیده گرفته شود یا خیر\&. برای جزئیات به \fBgit\fR(1) مراجعه کنید\&. .RE .sp همچنین بخش «فایل‌ها (FILES)» را ببینید\&. .PP GIT_CONFIG_COUNT, GIT_CONFIG_KEY_, GIT_CONFIG_VALUE_ .RS 4 اگر GIT_CONFIG_COUNT روی یک عدد مثبت تنظیم شده باشد، تمام جفت‌های محیطی GIT_CONFIG_KEY_ و GIT_CONFIG_VALUE_ تا آن عدد به پیکربندی زمان اجرای فرایند اضافه خواهند شد\&. جفت‌های پیکربندی با اندیس صفر شروع می‌شوند\&. هر کلید یا مقدار مفقود به عنوان یک خطا در نظر گرفته می‌شود\&. یک GIT_CONFIG_COUNT خالی همانند GIT_CONFIG_COUNT=0 در نظر گرفته می‌شود، یعنی هیچ جفتی پردازش نخواهد شد\&. این متغیرهای محیطی مقادیر موجود در فایل‌های پیکربندی را بازنویسی (override) خواهند کرد، اما توسط هر گزینه صریحی که از طریق \fBgit\fR \fB\-c\fR ارسال شود بازنویسی می‌شوند\&. .sp این متغیر برای مواردی مفید است که می‌خواهید چندین دستور گیت را با یک پیکربندی مشترک اجرا کنید اما نمی‌توانید به یک فایل پیکربندی وابسته باشید، برای مثال هنگام نوشتن اسکریپت‌ها\&. .RE .PP GIT_CONFIG .RS 4 اگر هیچ گزینه \fB\-\-file\fR به \fBgit\fR \fBconfig\fR ارائه نشود، از فایل ارائه‌شده توسط \fBGIT_CONFIG\fR به گونه‌ای استفاده می‌کند که گویی از طریق \fB\-\-file\fR ارائه شده است\&. این متغیر هیچ اثری بر سایر دستورات گیت ندارد و عمدتاً برای سازگاری گذشته حفظ شده است؛ به طور کلی هیچ دلیلی برای استفاده از آن به جای گزینه \fB\-\-file\fR وجود ندارد\&. .RE .SH "مثال‌ها (EXAMPLES)" .sp با فرض یک فایل \&.git/config مانند این: .sp .if n \{\ .RS 4 .\} .nf # # This is the config file, and # a \*(Aq#\*(Aq or \*(Aq;\*(Aq character indicates # a comment # ; core variables [core] ; Don\*(Aqt trust file modes filemode = false ; Our diff algorithm [diff] external = /usr/local/bin/diff\-wrapper renames = true ; Proxy settings [core] gitproxy=proxy\-command for kernel\&.org gitproxy=default\-proxy ; for all the rest ; HTTP [http] sslVerify [http "https://weak\&.example\&.com"] sslVerify = false cookieFile = /tmp/cookie\&.txt .fi .if n \{\ .RE .\} .sp .sp می‌توانید filemode را با دستور زیر روی true تنظیم کنید: .sp .if n \{\ .RS 4 .\} .nf % git config set core\&.filemode true .fi .if n \{\ .RE .\} .sp .sp مدخل‌های فرضی دستور پروکسی در واقع دارای یک پسوند هستند تا مشخص شود برای چه URL اعمال می‌شوند\&. در اینجا نحوه تغییر مدخل برای kernel\&.org به "ssh" آمده است: .sp .if n \{\ .RS 4 .\} .nf % git config set \-\-value=\*(Aqfor kernel\&.org$\*(Aq core\&.gitproxy \*(Aq"ssh" for kernel\&.org\*(Aq .fi .if n \{\ .RE .\} .sp .sp این کار اطمینان حاصل می‌کند که تنها جفت کلید/مقدار مربوط به kernel\&.org جایگزین شود\&. .sp برای حذف مدخل renames، این دستور را اجرا کنید: .sp .if n \{\ .RS 4 .\} .nf % git config unset diff\&.renames .fi .if n \{\ .RE .\} .sp .sp اگر می‌خواهید مدخلی را برای یک متغیر چندمقداری (مانند core\&.gitproxy در بالا) حذف کنید، باید یک عبارت منظم ارائه دهید که دقیقاً با مقدار یک خط مطابقت داشته باشد\&. .sp برای پرس‌وجوی مقدار یک کلید مشخص، این دستور را اجرا کنید: .sp .if n \{\ .RS 4 .\} .nf % git config get core\&.filemode .fi .if n \{\ .RE .\} .sp .sp یا، برای پرس‌وجوی یک متغیر چندمقداری: .sp .if n \{\ .RS 4 .\} .nf % git config get \-\-value="for kernel\&.org$" core\&.gitproxy .fi .if n \{\ .RE .\} .sp .sp اگر می‌خواهید تمام مقادیر یک متغیر چندمقداری را بدانید، دستور زیر را اجرا کنید: .sp .if n \{\ .RS 4 .\} .nf % git config get \-\-all \-\-show\-names core\&.gitproxy .fi .if n \{\ .RE .\} .sp .sp اگر اهل ریسک هستید، می‌توانید \fBتمام\fR مقادیر core\&.gitproxy را با یک مقدار جدید جایگزین کنید: .sp .if n \{\ .RS 4 .\} .nf % git config set \-\-all core\&.gitproxy ssh .fi .if n \{\ .RE .\} .sp .sp با این حال، اگر واقعاً فقط می‌خواهید خط مربوط به پروکسی پیش‌فرض را جایگزین کنید، یعنی خطی که پسوند "for \&..." ندارد، کاری شبیه به این انجام دهید: .sp .if n \{\ .RS 4 .\} .nf % git config set \-\-value=\*(Aq! for \*(Aq core\&.gitproxy ssh .fi .if n \{\ .RE .\} .sp .sp برای تطبیق واقعی تنها مقادیری که دارای علامت تعجب هستند، باید به این صورت عمل کنید: .sp .if n \{\ .RS 4 .\} .nf % git config set \-\-value=\*(Aq[!]\*(Aq section\&.key value .fi .if n \{\ .RE .\} .sp .sp برای افزودن یک پروکسی جدید، بدون تغییر هیچ‌یک از گزینه‌های موجود، از این دستور استفاده کنید: .sp .if n \{\ .RS 4 .\} .nf % git config set \-\-append core\&.gitproxy \*(Aq"proxy\-command" for example\&.com\*(Aq .fi .if n \{\ .RE .\} .sp .sp یک مثال برای استفاده از رنگ سفارشی‌شده از پیکربندی در اسکریپت شما: .sp .if n \{\ .RS 4 .\} .nf #!/bin/sh WS=$(git config get \-\-type=color \-\-default="blue reverse" color\&.diff\&.whitespace) RESET=$(git config get \-\-type=color \-\-default="reset" "") echo "${WS}your whitespace color or blue reverse${RESET}" .fi .if n \{\ .RE .\} .sp .sp برای نشانی‌های وب در \fBhttps://weak\&.example\&.com\fR، مقدار \fBhttp\&.sslVerify\fR روی false تنظیم شده است، در حالی که برای سایر نشانی‌ها روی \fBtrue\fR تنظیم شده است: .sp .if n \{\ .RS 4 .\} .nf % git config get \-\-type=bool \-\-url=https://good\&.example\&.com http\&.sslverify true % git config get \-\-type=bool \-\-url=https://weak\&.example\&.com http\&.sslverify false % git config get \-\-url=https://weak\&.example\&.com http http\&.cookieFile /tmp/cookie\&.txt http\&.sslverify false .fi .if n \{\ .RE .\} .sp .SH "فایل پیکربندی (CONFIGURATION FILE)" .sp فایل پیکربندی گیت شامل تعدادی متغیر است که بر رفتار دستورات گیت تأثیر می‌گذارند\&. فایل‌های \fB\&.git/config\fR و به صورت اختیاری \fBconfig\&.worktree\fR (بخش "CONFIGURATION FILE" از \fBgit-worktree\fR(1) را ببینید) در هر مخزن برای ذخیره پیکربندی آن مخزن استفاده می‌شوند، و \fB$HOME/\&.gitconfig\fR برای ذخیره یک پیکربندی به ازای هر کاربر به عنوان مقادیر پشتیبان برای فایل \fB\&.git/config\fR استفاده می‌شود\&. فایل \fB/etc/gitconfig\fR می‌تواند برای ذخیره یک پیکربندی پیش‌فرض در سطح سیستم استفاده شود\&. .sp متغیرهای پیکربندی هم توسط دستورات سطح پایین (plumbing) و هم دستورات سطح بالا (porcelain) گیت استفاده می‌شوند\&. این متغیرها به بخش‌ها تقسیم شده‌اند، که در آن نام کامل متغیر، آخرین بخش جداشده با نقطه است و نام بخش، تمام چیزهای قبل از آخرین نقطه می‌باشد\&. نام متغیرها به حروف بزرگ و کوچک حساس نیستند، تنها حروف الفبایی\-عددی و \fB\-\fR را مجاز می‌دانند، و باید با یک نویسه الفبایی آغاز شوند\&. برخی از متغیرها ممکن است چندین بار ظاهر شوند؛ در این حالت می‌گوییم که متغیر چندمقداری است\&. .SS "قواعد نحوی (Syntax)" .sp قواعد نحوی نسبتاً انعطاف‌پذیر و آسان‌گیرانه است\&. نویسه‌های فاصله سفید، که در این زمینه شامل نویسه فاصله (SP) و تب افقی (HT) هستند، عمدتاً نادیده گرفته می‌شوند\&. نویسه‌های \fI#\fR و \fI;\fR آغازگر توضیحات تا پایان خط هستند\&. خطوط خالی نادیده گرفته می‌شوند\&. .sp فایل از بخش‌ها و متغیرها تشکیل شده است\&. یک بخش با نام بخش در کروشه‌ها آغاز می‌شود و تا زمان شروع بخش بعدی ادامه می‌یابد\&. نام‌های بخش‌ها به حروف بزرگ و کوچک حساس نیستند\&. در نام‌های بخش‌ها تنها نویسه‌های الفبایی\-عددی، \fB\-\fR و \&. مجاز هستند\&. هر متغیر باید به بخشی تعلق داشته باشد، به این معنی که قبل از اولین تنظیم یک متغیر باید یک سربرگ بخش وجود داشته باشد\&. .sp بخش‌ها می‌توانند به زیربخش‌ها تقسیم شوند\&. برای شروع یک زیربخش، نام آن را در گیومه دوتایی قرار داده و با یک فاصله از نام بخش جدا کنید و در سربرگ بخش قرار دهید، مانند مثال زیر: .sp .if n \{\ .RS 4 .\} .nf [section "subsection"] .fi .if n \{\ .RE .\} .sp .sp نام‌های زیربخش‌ها به حروف بزرگ و کوچک حساس هستند و می‌توانند شامل هر نویسه‌ای به جز خط جدید و بایت تهی (null) باشند\&. گیومه دوتایی " و بک‌اسلش را می‌توان به ترتیب با اسکیپ کردن آن‌ها به صورت \fB\e\fR" و \fB\e\e\fR گنجاند\&. بک‌اسلش‌های قبل از سایر نویسه‌ها هنگام خواندن حذف می‌شوند؛ برای مثال، \fB\et\fR به صورت \fBt\fR و \fB\e0\fR به صورت \fB0\fR خوانده می‌شود\&. سربرگ‌های بخش نمی‌توانند در چندین خط امتداد یابند\&. متغیرها ممکن است مستقیماً به یک بخش یا به یک زیربخش مشخص تعلق داشته باشند\&. در صورت داشتن [\fBsection\fR "subsection"] می‌توانید [\fBsection\fR] را نیز داشته باشید، اما الزامی به آن نیست\&. .sp همچنین یک نحو منسوخ‌شده [\fBsection\&.subsection\fR] وجود دارد\&. با این نحو، نام زیربخش به حروف کوچک تبدیل شده و همچنین به صورت حساس به حروف بزرگ و کوچک مقایسه می‌شود\&. این نام‌های زیربخش از همان محدودیت‌های نام‌های بخش پیروی می‌کنند\&. .sp تمام خطوط دیگر (و باقی‌مانده خط پس از سربرگ بخش) به عنوان متغیرهای تنظیم‌کننده شناخته می‌شوند، به شکل \fIname = value\fR (یا صرفاً \fIname\fR که یک میان‌بر برای بیان این است که متغیر دارای مقدار بولی "true" است)\&. نام‌های متغیرها به حروف بزرگ و کوچک حساس نیستند، تنها نویسه‌های الفبایی\-عددی و \fB\-\fR را مجاز می‌دانند، و باید با یک نویسه الفبایی آغاز شوند\&. .sp نویسه‌های فاصله سفید در اطراف \fBname\fR، \fB=\fR و \fBvalue\fR دور ریخته می‌شوند\&. فاصله‌های سفید داخلی درون \fIvalue\fR عیناً حفظ می‌شوند\&. توضیحاتی که با # یا ; شروع شده و تا پایان خط امتداد می‌یابند دور ریخته می‌شوند\&. خطی که مقداری را تعریف می‌کند می‌تواند با پایان یافتن با یک بک‌اسلش (\fB\e\fR) به خط بعدی ادامه یابد؛ بک‌اسلش و نویسه‌های پایان خط دور ریخته می‌شوند\&. .sp اگر \fBvalue\fR نیاز دارد که دارای نویسه‌های فاصله سفید ابتدایی یا انتهایی باشد، باید در گیومه دوتایی (") محصور شود\&. در داخل گیومه دوتایی، نویسه‌های گیومه دوتایی (") و بک‌اسلش (\fB\e\fR) باید اسکیپ شوند: از \fB\e\fR" برای " و \fB\e\e\fR برای \fB\e\fR استفاده کنید\&. .sp توالی‌های گریز زیر (علاوه بر \fB\e\fR" و \fB\e\e\fR) شناخته شده‌اند: \fB\en\fR برای نویسه خط جدید (NL)، \fB\et\fR برای تب افقی (HT, TAB) و \fB\eb\fR برای پس‌بر (BS)\&. سایر توالی‌های گریز نویسه (شامل توالی‌های گریز هشت‌هشتی) نامعتبر هستند\&. .SS "درج‌ها (Includes)" .sp بخش‌های \fBinclude\fR و \fBincludeIf\fR به شما امکان می‌دهند دستورالعمل‌های پیکربندی را از منبع دیگری درج کنید\&. این بخش‌ها عملکرد یکسانی با یکدیگر دارند با این استثنا که بخش‌های \fBincludeIf\fR ممکن است در صورتی که شرط آن‌ها به true ارزیابی نشود نادیده گرفته شوند؛ بخش «درج‌های مشروط (Conditional includes)» در زیر را ببینید\&. .sp می‌توانید با تنظیم متغیر ویژه \fBinclude\&.path\fR (یا \fBincludeIf\&.*\&.path\fR) به نام فایلی که قرار است درج شود، یک فایل پیکربندی را از فایل دیگری درج کنید\&. این متغیر یک نام مسیر را به عنوان مقدار خود می‌پذیرد و مشمول گسترش مد (tilde expansion) است\&. این متغیرها را می‌توان چندین بار مشخص کرد\&. .sp محتویات فایل درج‌شده بلافاصله وارد می‌شود، گویی در محل دستورالعمل درج پیدا شده است\&. اگر مقدار متغیر یک مسیر نسبی باشد، مسیر نسبت به فایل پیکربندی که دستورالعمل درج در آن یافت شده است نسبی در نظر گرفته می‌شود\&. برای مثال‌ها به زیر مراجعه کنید\&. .SS "درج‌های مشروط (Conditional includes)" .sp می‌توانید با تنظیم یک متغیر \fBincludeIf\&.\fR\fI\fR\fB\&.path\fR به نام فایلی که قرار است درج شود، یک فایل پیکربندی را به صورت مشروط از فایل دیگری درج کنید\&. .sp شرط با یک کلمه کلیدی آغاز می‌شود و به دنبال آن یک دونقطه (:) و سپس داده‌هایی قرار می‌گیرد که قالب و معنای آن‌ها به کلمه کلیدی بستگی دارد\&. کلمات کلیدی پشتیبانی‌شده عبارتند از: .PP \fBgitdir\fR .RS 4 داده‌هایی که بعد از کلمه کلیدی \fBgitdir\fR و دونقطه می‌آیند به عنوان یک الگوی تطبیق مسیر (glob) استفاده می‌شوند\&. اگر مکان دایرکتوری \&.git با این الگو مطابقت داشته باشد، شرط درج برآورده می‌شود\&. .sp مکان \&.git ممکن است به صورت خودکار شناسایی شود یا از متغیر محیطی \fB$GIT_DIR\fR به دست آید\&. اگر مخزن از طریق یک فایل \&.git شناسایی شود (برای مثال از زیرماژول‌ها یا یک درخت کاری پیوند داده‌شده)، مکان \&.git مکان نهایی خواهد بود که دایرکتوری \&.git در آن قرار دارد، نه مکانی که فایل \&.git در آن است\&. .sp الگو می‌تواند شامل نویسه‌های عام استاندارد globbing و دو نویسه اضافی، \fB**/\fR و \fB/**\fR باشد که می‌توانند چندین جزء مسیر را مطابقت دهند\&. لطفاً برای جزئیات به \fBgitignore\fR(5) مراجعه کنید\&. جهت سهولت: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} اگر الگو با \fB~/\fR آغاز شود، \fB~\fR با محتوای متغیر محیطی \fBHOME\fR جایگزین خواهد شد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} اگر الگو با \fB\&./\fR آغاز شود، با دایرکتوری حاوی فایل پیکربندی فعلی جایگزین می‌شود\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} اگر الگو با هیچ‌کدام از \fB~/\fR، \fB\&./\fR یا \fB/\fR آغاز نشود، \fB**/\fR به صورت خودکار به ابتدای آن اضافه خواهد شد\&. برای مثال، الگوی \fBfoo/bar\fR تبدیل به \fB**/foo/bar\fR می‌شود و با \fB/any/path/to/foo/bar\fR مطابقت خواهد داشت\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} اگر الگو با \fB/\fR پایان یابد، \fB**\fR به صورت خودکار اضافه خواهد شد\&. برای مثال، الگوی \fBfoo/\fR تبدیل به \fBfoo/**\fR می‌شود\&. به عبارت دیگر، با "foo" و هر آنچه در داخل آن است به صورت بازگشتی مطابقت خواهد داشت\&. .RE .RE .PP \fBgitdir/i\fR .RS 4 این مورد همانند \fBgitdir\fR است، به جز اینکه تطبیق بدون حساسیت به حروف بزرگ و کوچک انجام می‌شود (برای مثال در سیستم‌های فایلی غیرحساس به حروف)\&. .RE .PP \fBonbranch\fR .RS 4 داده‌هایی که بعد از کلمه کلیدی \fBonbranch\fR و دونقطه می‌آیند به عنوان الگویی با نویسه‌های عام استاندارد globbing و دو نویسه اضافی، \fB**/\fR و \fB/**\fR در نظر گرفته می‌شوند که می‌توانند چندین جزء مسیر را مطابقت دهند\&. اگر در یک درخت کاری باشیم که در آن نام شاخه فعلی چک‌اوت‌شده با الگو مطابقت داشته باشد، شرط درج برآورده می‌شود\&. .sp اگر الگو با \fB/\fR پایان یابد، \fB**\fR به صورت خودکار اضافه خواهد شد\&. برای مثال، الگوی \fBfoo/\fR تبدیل به \fBfoo/**\fR می‌شود\&. به عبارت دیگر، با تمام شاخه‌هایی که با \fBfoo/\fR آغاز می‌شوند مطابقت دارد\&. این مورد زمانی مفید است که شاخه‌های شما به صورت سلسله‌مراتبی سازماندهی شده باشند و بخواهید یک پیکربندی را برای تمام شاخه‌ها در آن سلسله‌مراتب اعمال کنید\&. .RE .PP \fBhasconfig:remote\&.*\&.url\fR .RS 4 داده‌هایی که بعد از این کلمه کلیدی و دونقطه می‌آیند به عنوان الگویی با نویسه‌های عام استاندارد globbing و دو نویسه اضافی، \fB**/\fR و \fB/**\fR در نظر گرفته می‌شوند که می‌توانند چندین جزء را مطابقت دهند\&. نخستین باری که این کلمه کلیدی دیده شود، باقی‌مانده فایل‌های پیکربندی برای یافتن URLهای ریموت اسکن خواهند شد (بدون اعمال هیچ‌گونه مقداری)\&. اگر حداقل یک URL ریموت وجود داشته باشد که با این الگو مطابقت کند، شرط درج برآورده می‌شود\&. .sp فایل‌هایی که توسط این گزینه درج می‌شوند (به طور مستقیم یا غیرمستقیم) مجاز نیستند حاوی URLهای ریموت باشند\&. .sp توجه داشته باشید که برخلاف سایر شرایط includeIf، حل این شرط متکی بر اطلاعاتی است که در زمان خواندن شرط هنوز مشخص نیست\&. یک مورد استفاده معمول این است که این گزینه در یک پیکربندی سطح سیستم یا سطح سراسری وجود داشته باشد، و URL ریموت در یک پیکربندی سطح محلی باشد؛ از این رو هنگام حل این شرط نیاز به پیش‌اسکن است\&. به منظور اجتناب از مسئله «مرغ و تخم‌مرغ» که در آن فایل‌های به طور بالقوه درج‌شده می‌توانند بر اینکه آیا چنین فایل‌هایی به طور بالقوه درج می‌شوند یا خیر اثر بگذارند، گیت با منع این فایل‌ها از اثرگذاری بر حل این شرایط (و در نتیجه منع آن‌ها از اعلان URLهای ریموت)، این چرخه را می‌شکند\&. .sp در مورد نام‌گذاری این کلمه کلیدی، این نام‌گذاری برای سازگاری آینده با طرح نام‌گذاری‌ای است که از شرایط درج مبتنی بر متغیرهای بیشتر پشتیبانی کند، اما در حال حاضر گیت تنها از همان کلمه کلیدی دقیق توضیح‌داده‌شده در بالا پشتیبانی می‌کند\&. .RE .sp چند نکته بیشتر در مورد تطبیق از طریق \fBgitdir\fR و \fBgitdir/i\fR: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} پیوندهای نمادین (Symlinks) در \fB$GIT_DIR\fR پیش از تطبیق حل نمی‌شوند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} هر دو نسخه پیوند نمادین و مسیر واقعی (realpath) در خارج از \fB$GIT_DIR\fR مطابقت داده خواهند شد\&. برای مثال اگر git/~ یک پیوند نمادین به mnt/storage/git/ باشد، هر دو \fBgitdir:~/git\fR و \fBgitdir:/mnt/storage/git\fR مطابقت خواهند داشت\&. .sp این موضوع در نسخه اولیه این قابلیت در v2\&.13\&.0 وجود نداشت، که تنها نسخه مسیر واقعی را مطابقت می‌داد\&. پیکربندی‌ای که می‌خواهد با نسخه اولیه این قابلیت سازگار باشد باید یا تنها نسخه مسیر واقعی را مشخص کند، یا هر دو نسخه را\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} توجه داشته باشید که "\&.\&./" خاص نیست و به صورت لفظی مطابقت داده خواهد شد، که احتمالاً چیزی نیست که شما می‌خواهید\&. .RE .SS "مثال (Example)" .sp .if n \{\ .RS 4 .\} .nf # Core variables [core] ; Don\*(Aqt trust file modes filemode = false # Our diff algorithm [diff] external = /usr/local/bin/diff\-wrapper renames = true [branch "devel"] remote = origin merge = refs/heads/devel # Proxy settings [core] gitProxy="ssh" for "kernel\&.org" gitProxy=default\-proxy ; for the rest [include] path = /path/to/foo\&.inc ; include by absolute path path = foo\&.inc ; find "foo\&.inc" relative to the current file path = ~/foo\&.inc ; find "foo\&.inc" in your `$HOME` directory ; include if $GIT_DIR is /path/to/foo/\&.git [includeIf "gitdir:/path/to/foo/\&.git"] path = /path/to/foo\&.inc ; include for all repositories inside /path/to/group [includeIf "gitdir:/path/to/group/"] path = /path/to/foo\&.inc ; include for all repositories inside $HOME/to/group [includeIf "gitdir:~/to/group/"] path = /path/to/foo\&.inc ; relative paths are always relative to the including ; file (if the condition is true); their location is not ; affected by the condition [includeIf "gitdir:/path/to/group/"] path = foo\&.inc ; include only if we are in a worktree where foo\-branch is ; currently checked out [includeIf "onbranch:foo\-branch"] path = foo\&.inc ; include only if a remote with the given URL exists (note ; that such a URL may be provided later in a file or in a ; file read after this file is read, as seen in this example) [includeIf "hasconfig:remote\&.*\&.url:https://example\&.com/**"] path = foo\&.inc [remote "origin"] url = https://example\&.com/git .fi .if n \{\ .RE .\} .sp .SS "مقادیر (Values)" .sp مقادیر بسیاری از متغیرها به عنوان یک رشته ساده در نظر گرفته می‌شوند، اما متغیرهایی وجود دارند که مقادیری از انواع خاص را می‌پذیرند و قوانینی در مورد نحوه نگارش آن‌ها وجود دارد\&. .PP boolean .RS 4 هنگامی که گفته می‌شود یک متغیر مقدار بولی (boolean) می‌پذیرد، مترادف‌های متعددی برای \fItrue\fR و \fIfalse\fR پذیرفته می‌شوند؛ تمامی این موارد غیرحساس به حروف بزرگ و کوچک هستند\&. .PP true .RS 4 مقدارهای لیترال برای true بولی عبارتند از \fByes\fR، \fBon\fR، \fBtrue\fR و \fB1\fR\&. همچنین، متغیری که بدون \fB=\fR \fI\fR تعریف شود به عنوان true در نظر گرفته می‌شود\&. .RE .PP false .RS 4 مقدارهای لیترال برای false بولی عبارتند از \fBno\fR، \fBoff\fR، \fBfalse\fR، \fB0\fR و رشته خالی\&. .RE .sp هنگام تبدیل یک مقدار به شکل استاندارد آن با استفاده از مشخص‌کننده نوع \fB\-\-type=bool\fR، \fIgit config\fR اطمینان حاصل خواهد کرد که خروجی "true" یا "false" باشد (نوشته‌شده با حروف کوچک)\&. .RE .PP integer .RS 4 مقدار بسیاری از متغیرها که اندازه‌های مختلف را مشخص می‌کنند می‌تواند با پسوندهای \fBk\fR، \fBM\fR و غیره همراه باشد تا به معنای «مقیاس‌بندی عدد در 1024»، «در 1024x1024» و غیره باشد\&. .RE .PP color .RS 4 مقدار متغیری که یک رنگ را می‌پذیرد، فهرستی از رنگ‌ها (حداکثر دو رنگ، یکی برای پیش‌زمینه و یکی برای پس‌زمینه) و ویژگی‌ها (هر تعداد که بخواهید) است که با فاصله از هم جدا شده‌اند\&. .sp رنگ‌های پایه‌ای پذیرفته‌شده عبارتند از \fBnormal\fR، \fBblack\fR، \fBred\fR، \fBgreen\fR، \fByellow\fR، \fBblue\fR، \fBmagenta\fR، \fBcyan\fR، \fBwhite\fR و \fBdefault\fR\&. اولین رنگ داده‌شده برای پیش‌زمینه و دومین رنگ برای پس‌زمینه است\&. تمام رنگ‌های پایه به جز \fBnormal\fR و \fBdefault\fR دارای یک حالت روشن (bright) هستند که می‌توان با افزودن پیشوند \fBbright\fR به رنگ، مانند \fBbrightred\fR، آن‌ها را مشخص کرد\&. .sp رنگ \fBnormal\fR هیچ تغییری در رنگ ایجاد نمی‌کند\&. این رنگ همانند یک رشته خالی است، اما می‌توان از آن به عنوان رنگ پیش‌زمینه در هنگام مشخص کردن رنگ پس‌زمینه به تنهایی استفاده کرد (برای مثال، "normal red")\&. .sp رنگ \fBdefault\fR به طور صریح رنگ را به حالت پیش‌فرض ترمینال بازنشانی می‌کند، برای مثال برای مشخص کردن یک پس‌زمینه پاک‌شده\&. اگرچه این مورد بین ترمینال‌ها متفاوت است، اما معمولاً مشابه تنظیم روی "white black" نیست\&. .sp رنگ‌ها همچنین می‌توانند به عنوان اعدادی بین 0 تا 255 داده شوند؛ این رنگ‌ها از حالت 256 رنگی ANSI استفاده می‌کنند (اما توجه داشته باشید که ممکن است همه ترمینال‌ها از آن پشتیبانی نکنند)\&. اگر ترمینال شما پشتیبانی کند، می‌توانید مقادیر RGB بیست‌وچهار بیتی را نیز به صورت هگزادسیمال مشخص کنید، مانند #ff0ab3، یا مقادیر RGB دوازده بیتی مانند #f1b که معادل رنگ 24 بیتی #ff11bb است\&. .sp ویژگی‌های پذیرفته‌شده عبارتند از \fBbold\fR، \fBdim\fR، \fBul\fR، \fBblink\fR، \fBreverse\fR، \fBitalic\fR و \fBstrike\fR (برای خط‌خورده یا حروفی با خط روی آن‌ها)\&. موقعیت هر ویژگی نسبت به رنگ‌ها (قبل، بعد یا در بین آن‌ها) اهمیتی ندارد\&. ویژگی‌های خاص را می‌توان با افزودن پیشوند \fBno\fR یا \fBno\-\fR (مانند \fBnoreverse\fR، \fBno\-ul\fR و غیره) غیرفعال کرد\&. .sp شبه‌ویژگی \fBreset\fR تمام رنگ‌ها و ویژگی‌ها را پیش از اعمال رنگ‌آمیزی مشخص‌شده بازنشانی می‌کند\&. برای مثال، \fBreset\fR \fBgreen\fR باعث یک پیش‌زمینه سبز و پس‌زمینه پیش‌فرض بدون هیچ ویژگی فعالی خواهد شد\&. .sp یک رشته رنگ خالی هیچ اثر رنگی ایجاد نمی‌کند\&. از این مورد می‌توان برای اجتناب از رنگ‌آمیزی المان‌های خاص بدون غیرفعال کردن کامل رنگ استفاده کرد\&. .sp برای جایگاه‌های رنگی پیش‌تعریف‌شده در گیت، ویژگی‌ها به گونه‌ای در نظر گرفته شده‌اند که در ابتدای هر مورد در خروجی رنگی بازنشانی شوند\&. بنابراین تنظیم \fBcolor\&.decorate\&.branch\fR روی \fBblack\fR آن نام شاخه را به رنگ ساده \fBblack\fR درمی‌آورد، حتی اگر مورد قبلی در همان خط خروجی (مانند پرانتز بازکننده قبل از فهرست نام‌های شاخه‌ها در خروجی \fBlog\fR \fB\-\-decorate\fR) تنظیم شده باشد که با \fBbold\fR یا ویژگی دیگری رنگ‌آمیزی شود\&. با این حال، قالب‌های سفارشی لاگ ممکن است رنگ‌آمیزی‌های پیچیده‌تر و لایه‌بندی‌شده‌ای انجام دهند و حالت‌های منفی‌شده ممکن است در آنجا مفید باشند\&. .RE .PP pathname .RS 4 به متغیری که مقدار pathname (نام مسیر) را می‌پذیرد می‌توان رشته‌ای داد که با "\fB~/\fR" یا "\fB~user/\fR" آغاز می‌شود، و گسترش معمولی مد (tilde) برای چنین رشته‌ای رخ می‌دهد: \fB~/\fR به مقدار \fB$HOME\fR و \fB~user/\fR به دایرکتوری خانگی کاربر مشخص‌شده گسترش می‌یابد\&. .sp اگر یک مسیر با \fB%\fR(\fBprefix\fR)\fB/\fR آغاز شود، باقی‌مانده آن به عنوان یک مسیر نسبی به «پیشوند زمان اجرا» (runtime prefix) گیت، یعنی نسبت به مکانی که گیت در آن نصب شده است، تفسیر می‌شود\&. برای مثال، \fB%\fR(\fBprefix\fR)\fB/bin/\fR به دایرکتوری‌ای اشاره دارد که فایل اجرایی گیت در آن قرار دارد\&. اگر گیت بدون پشتیبانی از پیشوند زمان اجرا کامپایل شده باشد، پیشوند کامپایل‌شده به جای آن جایگزین خواهد شد\&. در صورت نادری که نیاز باشد یک مسیر لفظی مشخص شود که نباید \fInot\fR گسترش یابد، لازم است پیشوند \fB\&./\fR به آن اضافه شود، مانند: \fB\&./%\fR(\fBprefix\fR)\fB/bin\fR\&. .sp اگر با پیشوند \fB:\fR(\fBoptional\fR) همراه باشد، در صورتی که مسیر نام‌برده وجود نداشته باشد، با متغیر پیکربندی به گونه‌ای رفتار می‌شود که گویی وجود ندارد\&. .RE .SS "متغیرها (Variables)" .sp توجه داشته باشید که این فهرست جامع نیست و لزوماً کامل نمی‌باشد\&. برای متغیرهای مخصوص هر دستور، توضیحات دقیق‌تر را در صفحه راهنمای مربوطه خواهید یافت\&. .sp سایر ابزارهای مرتبط با گیت نیز ممکن است از متغیرهای اختصاصی خود استفاده کنند و این کار را انجام می‌دهند\&. هنگام تعریف متغیرهای جدید برای استفاده در ابزار خود، اطمینان حاصل کنید که نام آن‌ها با متغیرهای مورد استفاده توسط خود Git و سایر ابزارهای پرکاربرد تداخل نداشته باشد، و آن‌ها را در مستندات خود شرح دهید\&. .PP \fBadd\&.ignoreErrors\fR, \fBadd\&.ignore\-errors\fR (منسوخ‌شده) .RS 4 به \fBgit\fR \fBadd\fR می‌گوید زمانی که برخی از فایل‌ها به دلیل خطاهای ایندکس‌گذاری قابل افزودن نیستند، به افزودن فایل‌ها ادامه دهد\&. معادل گزینه \fB\-\-ignore\-errors\fR در \fBgit-add\fR(1)\&. \fBadd\&.ignore\-errors\fR منسوخ شده است، زیرا از قرارداد نام‌گذاری معمول برای متغیرهای پیکربندی پیروی نمی‌کند\&. .RE .PP advice\&.* .RS 4 این متغیرها پیام‌های راهنمای اختیاری مختلفی را کنترل می‌کنند که برای کمک به کاربران جدید طراحی شده‌اند\&. اگر پیکربندی نشوند، Git پیام را همراه با دستورالعمل‌هایی درباره نحوه بی‌صدا کردن آن نمایش می‌دهد\&. می‌توانید با تنظیم متغیر مربوطه روی \fBfalse\fR به Git اعلام کنید که موضوع را متوجه شده‌اید و دیگر به آن پیام راهنمای خاص نیازی ندارید\&. .sp از آنجا که این پیام‌ها برای کمک به کاربران انسانی در نظر گرفته شده‌اند، در خروجی خطای استاندارد (standard error) چاپ می‌شوند\&. هنگامی که ابزارهایی که Git را به عنوان یک زیرفرآیند اجرا می‌کنند آن‌ها را مخل می‌دانند، می‌توانند \fBGIT_ADVICE=0\fR را در محیط تنظیم کنند تا تمام پیام‌های راهنما بی‌صدا شوند\&. .PP addEmbeddedRepo .RS 4 زمانی نشان داده می‌شود که کاربر به طور تصادفی یک مخزن گیت را درون مخزن دیگری اضافه می‌کند\&. .RE .PP addEmptyPathspec .RS 4 زمانی نشان داده می‌شود که کاربر \fBgit\fR \fBadd\fR را بدون ارائه پارامتر مشخصه مسیر (pathspec) اجرا می‌کند\&. .RE .PP addIgnoredFile .RS 4 زمانی نشان داده می‌شود که کاربر تلاش می‌کند فایلی نادیده‌گرفته‌شده (ignored) را به ایندکس اضافه کند\&. .RE .PP amWorkDir .RS 4 زمانی نشان داده می‌شود که \fBgit-am\fR(1) در اعمال یک فایل وصله ناموفق است، تا مکان فایل را به کاربر اطلاع دهد\&. .RE .PP ambiguousFetchRefspec .RS 4 زمانی نشان داده می‌شود که یک مشخصه مرجع واکشی (fetch refspec) برای چند ریموت به همان فضای نام شاخه ردیابی ریموت (remote\-tracking branch) نگاشت می‌شود و باعث شکست در راه‌اندازی ردیابی شاخه می‌گردد\&. .RE .PP checkoutAmbiguousRemoteBranchName .RS 4 زمانی نشان داده می‌شود که آرگومان داده‌شده به \fBgit-checkout\fR(1) و \fBgit-switch\fR(1) به طور مبهم به یک شاخه ردیابی ریموت در بیش از یک ریموت حل‌وفصل می‌شود، در شرایطی که یک آرگومان غیرمبهم در غیر این صورت باعث تحویل گرفتن (checkout) یک شاخه ردیابی ریموت می‌شد\&. برای چگونگی تنظیم یک ریموت معین برای استفاده پیش‌فرض در برخی شرایطی که این راهنما چاپ می‌شود، متغیر پیکربندی \fBcheckout\&.defaultRemote\fR را ببینید\&. .RE .PP commitBeforeMerge .RS 4 زمانی نشان داده می‌شود که \fBgit-merge\fR(1) برای جلوگیری از رونویسی تغییرات محلی، از ادغام خودداری می‌کند\&. .RE .PP detachedHead .RS 4 زمانی نشان داده می‌شود که کاربر از \fBgit-switch\fR(1) یا \fBgit-checkout\fR(1) برای رفتن به وضعیت HEAD جداشده (detached HEAD) استفاده می‌کند، تا نحوه ایجاد یک شاخه محلی را پس از وقوع به کاربر بگوید\&. .RE .PP diverging .RS 4 زمانی نشان داده می‌شود که فوروارد سریع (fast\-forward) امکان‌پذیر نیست\&. .RE .PP fetchShowForcedUpdates .RS 4 زمانی نشان داده می‌شود که \fBgit-fetch\fR(1) زمان زیادی را صرف محاسبه به‌روزرسانی‌های اجباری پس از به‌روزرسانی مراجع می‌کند، یا برای هشدار دادن درباره اینکه این بررسی غیرفعال است\&. .RE .PP forceDeleteBranch .RS 4 زمانی نشان داده می‌شود که کاربر تلاش می‌کند شاخه‌ای را که به طور کامل ادغام نشده است بدون تنظیم گزینه اجبار (force) حذف کند\&. .RE .PP ignoredHook .RS 4 زمانی نشان داده می‌شود که یک هوک نادیده گرفته می‌شود زیرا به عنوان قابل اجرا تنظیم نشده است\&. .RE .PP implicitIdentity .RS 4 زمانی نشان داده می‌شود که اطلاعات کاربر از روی نام کاربری سیستم و نام دامنه حدس زده می‌شود، تا به کاربر بگوید چگونه پیکربندی هویت خود را تنظیم کند\&. .RE .PP mergeConflict .RS 4 زمانی نشان داده می‌شود که دستورات مختلف به دلیل تعارض‌ها متوقف می‌شوند\&. .RE .PP nestedTag .RS 4 زمانی نشان داده می‌شود که کاربر تلاش می‌کند به طور بازگشتی روی یک شیء تگ، تگ بزند\&. .RE .PP pushAlreadyExists .RS 4 زمانی نشان داده می‌شود که \fBgit-push\fR(1) به‌روزرسانی‌ای را که شرایط فوروارد سریع را ندارد رد می‌کند (مانند یک تگ)\&. .RE .PP pushFetchFirst .RS 4 زمانی نشان داده می‌شود که \fBgit-push\fR(1) به‌روزرسانی‌ای را که سعی دارد یک مرجع ریموت اشاره‌کننده به شیئی را که ما نداریم رونویسی کند، رد می‌نماید\&. .RE .PP pushNeedsForce .RS 4 زمانی نشان داده می‌شود که \fBgit-push\fR(1) به‌روزرسانی‌ای را که قصد دارد یک مرجع ریموت اشاره‌کننده به شیئی غیر از شبه‌کامیت (commit\-ish) را رونویسی کند، یا باعث شود مرجع ریموت به شیئی که شبه‌کامیت نیست اشاره کند، رد می‌نماید\&. .RE .PP pushNonFFCurrent .RS 4 زمانی نشان داده می‌شود که \fBgit-push\fR(1) به دلیل به‌روزرسانی غیر فوروارد سریع (non\-fast\-forward) در شاخه فعلی با شکست مواجه می‌شود\&. .RE .PP pushNonFFMatching .RS 4 زمانی نشان داده می‌شود که کاربر \fBgit-push\fR(1) را اجرا کرده و مراجع منطبق («matching refs») را به صراحت ارسال نموده است (یعنی از \fB:\fR استفاده کرده، یا مشخصه مرجعی را تعیین نموده که شاخه فعلی نیست) و این کار منجر به خطای غیر فوروارد سریع شده است\&. .RE .PP pushRefNeedsUpdate .RS 4 زمانی نشان داده می‌شود که \fBgit-push\fR(1) به‌روزرسانی اجباری یک شاخه را رد می‌کند هنگامی که مرجع ردیابی ریموت آن دارای به‌روزرسانی‌هایی است که ما به صورت محلی نداریم\&. .RE .PP pushUnqualifiedRefname .RS 4 زمانی نشان داده می‌شود که \fBgit-push\fR(1) از تلاش برای حدس زدن فضای نام مرجع ریموتی که مبدأ به آن تعلق دارد بر اساس مراجع مبدأ و مقصد منصرف می‌شود، اما در جایی که هنوز می‌توانیم بر اساس نوع شیء مبدأ به کاربر پیشنهاد دهیم که به \fBrefs/heads/*\fR یا \fBrefs/tags/*\fR ارسال کند\&. .RE .PP pushUpdateRejected .RS 4 این متغیر را روی \fBfalse\fR تنظیم کنید اگر می‌خواهید \fBpushNonFFCurrent\fR، \fBpushNonFFMatching\fR، \fBpushAlreadyExists\fR، \fBpushFetchFirst\fR، \fBpushNeedsForce\fR و \fBpushRefNeedsUpdate\fR را به طور همزمان غیرفعال کنید\&. .RE .PP rebaseTodoError .RS 4 زمانی نشان داده می‌شود که پس از ویرایش فهرست کارهای بازسازی (rebase todo list) خطایی رخ دهد\&. .RE .PP refSyntax .RS 4 زمانی نشان داده می‌شود که کاربر یک نام مرجع نامعتبر ارائه دهد، تا کاربر را از مستندات نحو مرجع مطلع کند\&. .RE .PP resetNoRefresh .RS 4 زمانی نشان داده می‌شود که \fBgit-reset\fR(1) برای بازخوانی ایندکس پس از ریست بیش از ۲ ثانیه طول می‌کشد، تا به کاربر بگوید می‌تواند از گزینه \fB\-\-no\-refresh\fR استفاده کند\&. .RE .PP resolveConflict .RS 4 توسط دستورات مختلف زمانی نشان داده می‌شود که تعارض‌ها مانع از انجام عملیات می‌شوند\&. .RE .PP rmHints .RS 4 هنگام شکست در خروجی \fBgit-rm\fR(1) نشان داده می‌شود تا راهنمایی‌هایی درباره نحوه ادامه کار از وضعیت فعلی ارائه دهد\&. .RE .PP sequencerInUse .RS 4 زمانی نشان داده می‌شود که یک دستور توالی‌ساز (sequencer) در حال حاضر در حال اجرا است\&. .RE .PP skippedCherryPicks .RS 4 زمانی نشان داده می‌شود که \fBgit-rebase\fR(1) کامیتی را که قبلاً به صورت گلچین (cherry\-pick) بر روی شاخه بالادست اعمال شده نادیده می‌گیرد\&. .RE .PP sparseIndexExpanded .RS 4 زمانی نشان داده می‌شود که یک ایندکس پراکنده (sparse index) به یک ایندکس کامل گسترش می‌یابد، که احتمالاً به دلیل وجود مجموعه‌ای غیرمنتظره از فایل‌ها در خارج از تحویل پراکنده (sparse\-checkout) است\&. .RE .PP statusAheadBehind .RS 4 زمانی نشان داده می‌شود که \fBgit-status\fR(1) تعداد جلو/عقب بودن (ahead/behind) یک مرجع محلی را در مقایسه با مرجع ردیابی ریموت آن محاسبه می‌کند و این محاسبه بیش از حد انتظار طول می‌کشد\&. اگر \fBstatus\&.aheadBehind\fR روی false باشد یا گزینه \fB\-\-no\-ahead\-behind\fR داده شود ظاهر نخواهد شد\&. .RE .PP statusHints .RS 4 راهنمایی‌هایی درباره نحوه ادامه کار از وضعیت فعلی را در خروجی \fBgit-status\fR(1)، در الگوی نمایش داده‌شده هنگام نوشتن پیام کامیت در \fBgit-commit\fR(1)، و در پیام راهنمای نمایش داده‌شده توسط \fBgit-switch\fR(1) یا \fBgit-checkout\fR(1) هنگام جابجایی شاخه‌ها نمایش می‌دهد\&. .RE .PP statusUoption .RS 4 زمانی نشان داده می‌شود که \fBgit-status\fR(1) برای شمارش فایل‌های ردیابی‌نشده بیش از ۲ ثانیه طول می‌کشد، تا به کاربر بگوید می‌تواند از گزینه \fB\-u\fR استفاده کند\&. .RE .PP submoduleAlternateErrorStrategyDie .RS 4 زمانی نشان داده می‌شود که تنظیم گزینه submodule\&.alternateErrorStrategy روی «die» باعث بروز یک خطای مهلک (fatal) می‌شود\&. .RE .PP submoduleMergeConflict .RS 4 راهنمایی نمایش‌داده‌شده هنگام مواجهه با یک تعارض ادغام زیرماژول غیربدیهی\&. .RE .PP submodulesNotUpdated .RS 4 زمانی نشان داده می‌شود که کاربر دستور زیرماژولی را اجرا می‌کند که به دلیل عدم اجرای \fBgit\fR \fBsubmodule\fR \fBupdate\fR \fB\-\-init\fR با شکست مواجه می‌شود\&. .RE .PP suggestDetachingHead .RS 4 زمانی نشان داده می‌شود که \fBgit-switch\fR(1) از جدا کردن HEAD بدون گزینه صریح \fB\-\-detach\fR خودداری می‌کند\&. .RE .PP updateSparsePath .RS 4 زمانی نشان داده می‌شود که از \fBgit-add\fR(1) یا \fBgit-rm\fR(1) خواسته می‌شود ورودی‌های ایندکس خارج از تحویل پراکنده (sparse checkout) فعلی را به‌روزرسانی کنند\&. .RE .PP waitingForEditor .RS 4 زمانی نشان داده می‌شود که Git منتظر ورودی ویرایشگر است\&. به عنوان مثال زمانی کاربرد دارد که ویرایشگر در داخل ترمینال اجرا نمی‌شود\&. .RE .PP worktreeAddOrphan .RS 4 زمانی نشان داده می‌شود که کاربر تلاش می‌کند یک درخت کاری (worktree) را از روی یک مرجع نامعتبر ایجاد کند، تا به کاربر بگوید چگونه به جای آن یک شاخه متولدنشده (unborn) جدید ایجاد کند\&. .RE .RE .PP alias\&.*, alias\&.*\&.command .RS 4 نام‌های مستعار دستور برای بسته‌بند دستور \fBgit\fR(1)\&. نام‌های مستعار را می‌توان با استفاده از دو نحو تعریف کرد: .sp .RS 4 .ie n \{\ \h'-04' 1.\h'+01'\c .\} .el \{\ .sp -1 .IP " 1." 4.2 .\} بدون زیربخش (subsection)، برای مثال: [\fBalias\fR] \fBco\fR \fB=\fR \fBcheckout\fR\&. نام مستعار (در این مثال «co») به نویسه‌های الفبایی\-عددی ASCII و \fB\-\fR محدود است و بدون حساسیت به حروف بزرگ و کوچک مطابقت داده می‌شود\&. .RE .sp .RS 4 .ie n \{\ \h'-04' 2.\h'+01'\c .\} .el \{\ .sp -1 .IP " 2." 4.2 .\} با یک زیربخش، برای مثال: [\fBalias\fR "co"] \fBcommand\fR \fB=\fR \fBcheckout\fR\&. نام مستعار می‌تواند شامل هر نویسه‌ای (به جز خط جدید و بایت‌های NUL) باشد، از جمله UTF\-8، و به صورت بایت‌های خام و با حساسیت به حروف بزرگ و کوچک مطابقت داده می‌شود\&. شما عمل نام مستعار را در \fBcommand\fR تعریف می‌کنید\&. .RE .sp مثال‌ها: .sp .if n \{\ .RS 4 .\} .nf # Without subsection (ASCII alphanumeric and dash only) [alias] co = checkout st = status # With subsection (allows any characters, including UTF\-8) [alias "h\(:amta"] command = fetch [alias "r\(:atta till"] command = commit \-\-amend .fi .if n \{\ .RE .\} .sp با تعریف یک نام مستعار گیت، به عنوان مثال: .sp .if n \{\ .RS 4 .\} .nf $ git config \-\-global alias\&.last "cat\-file commit HEAD" # Which is equivalent to $ git config \-\-global alias\&.last\&.command "cat\-file commit HEAD" .fi .if n \{\ .RE .\} .sp دستور \fBgit\fR \fBlast\fR معادل است با \fBgit\fR \fBcat\-file\fR \fBcommit\fR \fBHEAD\fR\&. .sp برای جلوگیری از سردرگمی و بروز مشکل در استفاده اسکریپت‌ها، نام‌های مستعاری که دستورات موجود Git را پنهان می‌کنند، به جز در مورد دستورات منسوخ‌شده، نادیده گرفته می‌شوند\&. آرگومان‌ها با فاصله از هم جدا می‌شوند و نقل‌قول و گریز معمول شل پشتیبانی می‌شوند\&. می‌توان از یک جفت نقل‌قول یا یک بک‌اسلش برای نقل‌قول کردن آن‌ها استفاده کرد\&. .sp توجه داشته باشید که کلمه اول یک نام مستعار لزوماً نباید یک دستور باشد\&. می‌تواند یک گزینه خط فرمان باشد که به فراخوانی \fBgit\fR ارسال می‌شود\&. به ویژه، این قابلیت هنگام استفاده با \fB\-c\fR برای ارسال پیکربندی‌های یک‌باره یا \fB\-p\fR برای اجبار به صفحه‌بندی خروجی مفید است\&. برای مثال، \fBloud\-rebase\fR \fB=\fR \fB\-c\fR \fBcommit\&.verbose=true\fR \fBrebase\fR را می‌توان طوری تعریف کرد که اجرای \fBgit\fR \fBloud\-rebase\fR معادل با \fBgit\fR \fB\-c\fR \fBcommit\&.verbose=true\fR \fBrebase\fR باشد\&. همچنین، \fBps\fR \fB=\fR \fB\-p\fR \fBstatus\fR یک نام مستعار مفید خواهد بود، زیرا \fBgit\fR \fBps\fR خروجی \fBgit\fR \fBstatus\fR را صفحه‌بندی می‌کند در حالی که دستور اصلی این کار را انجام نمی‌دهد\&. .sp اگر ابتدای بسط نام مستعار با یک علامت تعجب همراه باشد، به عنوان یک دستور شل در نظر گرفته می‌شود\&. برای مثال، با تعریف \fBalias\&.new\fR \fB=\fR !gitk \fB\-\-all\fR \fB\-\-not\fR \fBORIG_HEAD\fR، فراخوانی \fBgit\fR \fBnew\fR معادل با اجرای دستور شل \fBgitk\fR \fB\-\-all\fR \fB\-\-not\fR \fBORIG_HEAD\fR خواهد بود\&. توجه: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} دستورات شل از پوشه سطح بالای (top\-level) مخزن اجرا خواهند شد، که لزوماً پوشه فعلی نیست\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} مقدار \fBGIT_PREFIX\fR همان‌طور که از اجرای \fBgit\fR \fBrev\-parse\fR \fB\-\-show\-prefix\fR از پوشه فعلی اولیه بازگردانده می‌شود تنظیم می‌گردد\&. \fBgit-rev-parse\fR(1) را ببینید\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} نام‌های مستعار دستور شل همیشه آرگومان‌های اضافی ارائه‌شده به خط فرمان Git را به عنوان آرگومان‌های موضعی (positional arguments) دریافت می‌کنند\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} اگر نام مستعار شل شما یک اسکریپت «یک‌خطی» با چند دستور است (مثلاً در یک خط‌لوله)، به چندین آرگومان ارجاع می‌دهد، یا به هر نحو قادر به مدیریت آرگومان‌های موضعی اضافه‌شده در انتها نیست، باید دقت به خرج دهید\&. برای مثال: \fBalias\&.cmd\fR \fB=\fR "!echo \fB$1\fR | \fBgrep\fR \fB$2\fR" که به صورت \fBgit\fR \fBcmd\fR \fB1\fR \fB2\fR فراخوانی شود، به این شکل اجرا خواهد شد: \fIecho $1 | grep $2 1 2\fR، که مورد نظر شما نیست\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} یک راه مناسب برای رفع این مشکل این است که عملیات اسکریپت خود را در یک تابع درون‌خطی (inline function) بنویسید که سپس با هر آرگومان ارائه‌شده از خط فرمان فراخوانی شود\&. برای مثال: \fBalias\&.cmd\fR \fB=\fR "!c() { \fBecho\fR \fB$1\fR | \fBgrep\fR \fB$2\fR ; }; \fBc\fR" مثال قبلی را به درستی اجرا خواهد کرد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} تنظیم \fBGIT_TRACE=1\fR می‌تواند به شما در اشکال‌زدایی دستوری که برای نام مستعارتان اجرا می‌شود کمک کند\&. .RE .RE .RE .PP \fBam\&.keepcr\fR .RS 4 اگر true باشد، \fBgit-am\fR(1) برای وصله‌ها در قالب mbox، \fBgit-mailsplit\fR(1) را با پارامتر \fB\-\-keep\-cr\fR فراخوانی می‌کند\&. در این حالت \fBgit-mailsplit\fR(1) کاراکتر \fB\er\fR را از خطوطی که به \fB\er\en\fR ختم می‌شوند حذف نمی‌کند\&. با ارائه \fB\-\-no\-keep\-cr\fR از خط فرمان قابل بازنویسی است\&. .RE .PP \fBam\&.threeWay\fR .RS 4 به طور پیش‌فرض، اگر وصله به طور تمیز اعمال نشود، \fBgit-am\fR(1) با شکست مواجه خواهد شد\&. اگر روی true تنظیم شود، این تنظیم به \fBgit-am\fR(1) می‌گوید که در صورت ثبت هویت حباب‌ها (blobs) در وصله که قرار است روی آن‌ها اعمال شود و در صورت در دسترس بودن محلی آن حباب‌ها، به ادغام ۳\-طرفه (3\-way merge) بازگردد (معادل دادن گزینه \fB\-\-3way\fR از خط فرمان)\&. مقدار پیش‌فرض \fBfalse\fR است\&. .RE .PP \fBam\&.messageId\fR .RS 4 هنگام استفاده از \fBgit-am\fR(1)، یک دنباله (trailer) با عنوان \fBMessage\-ID\fR بر اساس سرآیند ایمیل به کامیت اضافه می‌کند (به \fBgit-interpret-trailers\fR(1) مراجعه کنید)\&. همچنین گزینه‌های \fB\-\-message\-id\fR و \fB\-\-no\-message\-id\fR را ببینید\&. .RE .PP \fBapply\&.ignoreWhitespace\fR .RS 4 زمانی که روی \fBchange\fR تنظیم شود، به \fBgit\fR \fBapply\fR می‌گوید که تغییرات در فاصله‌های خالی (whitespace) را نادیده بگیرد، همانند گزینه \fB\-\-ignore\-space\-change\fR\&. هنگامی که روی یکی از مقادیر: \fBno\fR، \fBnone\fR، \fBnever\fR، \fBfalse\fR تنظیم شود، به \fBgit\fR \fBapply\fR می‌گوید تمام تفاوت‌های فاصله‌های خالی را رعایت کند\&. به \fBgit-apply\fR(1) مراجعه کنید\&. .RE .PP \fBapply\&.whitespace\fR .RS 4 به \fBgit\fR \fBapply\fR می‌گوید که چگونه فاصله‌های خالی را مدیریت کند، همانند گزینه \fB\-\-whitespace\fR\&. به \fBgit-apply\fR(1) مراجعه کنید\&. .RE .PP attr\&.tree .RS 4 مرجعی به یک درخت (tree) در مخزن که ویژگی‌ها به جای فایل \fB\&.gitattributes\fR در درخت کاری از آن خوانده شود\&. اگر مقدار به یک شیء درخت معتبر حل‌وفصل نشود، به جای آن یک درخت خالی استفاده می‌شود\&. هنگامی که متغیر محیطی \fBGIT_ATTR_SOURCE\fR یا گزینه خط فرمان \fB\-\-attr\-source\fR استفاده شوند، این متغیر پیکربندی هیچ اثری ندارد\&. .RE .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBیادداشت (Note)\fR .ps -1 .br .sp گزینه‌های پیکربندی در \fBbitmapPseudoMerge\&.*\fR آزمایشی (EXPERIMENTAL) در نظر گرفته می‌شوند و ممکن است در آینده دستخوش تغییر شده یا به طور کامل حذف شوند\&. برای اطلاعات بیشتر درباره ویژگی نگاشت‌بیتی شبه‌ادغام (pseudo\-merge bitmap)، بخش «Pseudo\-merge bitmaps» در \fBgitpacking\fR(7) را ببینید\&. .sp .5v .RE .PP bitmapPseudoMerge\&.\&.pattern .RS 4 عبارت منظم مورد استفاده برای تطبیق نام‌های مرجع\&. کامیت‌هایی که توسط مراجع منطبق با این الگو اشاره می‌شوند (و معیارهای زیر را برآورده می‌کنند، مانند \fBbitmapPseudoMerge\&.\fR\fI\fR\fB\&.sampleRate\fR و \fBbitmapPseudoMerge\&.\fR\fI\fR\fB\&.threshold\fR) برای گنجاندن در یک نگاشت‌بیتی شبه‌ادغام در نظر گرفته خواهند شد\&. .sp کامیت‌ها بر اساس اینکه آیا هر مرجعی که به یک کامیت مشخص اشاره می‌کند با الگو (که یک عبارت منظم گسترش‌یافته است) تطابق دارد یا خیر، در گروه‌های شبه‌ادغام دسته‌بندی می‌شوند\&. .sp درون یک گروه شبه‌ادغام، کامیت‌ها ممکن است بر اساس گروه‌های تسخیر (capture groups) در الگو، بیشتر به زیرگروه‌ها تقسیم شوند\&. این زیرگروه‌بندی‌ها از عبارات منظم با الحاق هر گروه تسخیر از عبارت منظم، با یک خط تیره \fI\-\fR در این میان تشکیل می‌شوند\&. .sp برای مثال، اگر الگو \fBrefs/tags/\fR باشد، آنگاه تمام تگ‌ها (به شرطی که معیارهای زیر را برآورده کنند) به عنوان نامزدهای همان گروه شبه‌ادغام در نظر گرفته می‌شوند\&. اما اگر الگو در عوض \fBrefs/remotes/\fR([\fB0\-9\fR])\fB+/tags/\fR باشد، آنگاه تگ‌های ریموت‌های مختلف بر اساس شماره ریموت در گروه‌های شبه‌ادغام جداگانه دسته‌بندی خواهند شد\&. .RE .PP bitmapPseudoMerge\&.\&.decay .RS 4 نرخی را تعیین می‌کند که با آن گروه‌های نگاشت‌بیتی شبه‌ادغام متوالی اندازه خود را کاهش می‌دهند\&. باید نامنفی باشد\&. این پارامتر را می‌توان به عنوان \fBk\fR در تابع \fBf\fR(\fBn\fR) \fB=\fR \fBC\fR \fB*\fR \fBn^\-k\fR در نظر گرفت، که در آن \fBf\fR(\fBn\fR) اندازه گروه n\-اُم است\&. .sp تنظیم نرخ زوال (decay rate) برابر با \fB0\fR باعث می‌شود همه گروه‌ها اندازه یکسانی داشته باشند\&. تنظیم نرخ زوال برابر با \fB1\fR باعث می‌شود گروه \fBn\fR\-اُم اندازه‌ای معادل `1/n` اندازه گروه اولیه داشته باشد\&. مقادیر بالاتر نرخ زوال باعث می‌شود که گروه‌های متوالی با نرخ فزاینده‌ای کوچک‌تر شوند\&. مقدار پیش‌فرض \fB1\fR است\&. .sp اگر همه گروه‌ها هم‌اندازه باشند، این احتمال وجود دارد که گروه‌های حاوی کامیت‌های جدیدتر کمتر از گروه‌های قبلی قابل استفاده باشند، زیرا این احتمال بیشتر است که مراجع اشاره‌کننده به کامیت‌های جدیدتر مکرراً به‌روزرسانی شوند تا مرجعی که به یک کامیت قدیمی اشاره دارد\&. .RE .PP bitmapPseudoMerge\&.\&.sampleRate .RS 4 نسبت کامیت‌های بدون نگاشت‌بیتی (در میان نوک‌های مرجع) را که برای گنجاندن در یک نگاشت‌بیتی شبه‌ادغام ناپایدار انتخاب می‌شوند تعیین می‌کند\&. باید بزرگ‌تر از \fB0\fR و کوچک‌تر یا مساوی با \fB1\fR باشد\&. مقدار پیش‌فرض \fB1\fR است\&. .RE .PP bitmapPseudoMerge\&.\&.threshold .RS 4 حداقل سن کامیت‌های بدون نگاشت‌بیتی (در میان نوک‌های مرجع، مانند بالا) را که نامزد گنجاندن در یک نگاشت‌بیتی شبه‌ادغام ناپایدار هستند تعیین می‌کند\&. مقدار پیش‌فرض \fB1\&.week\&.ago\fR است\&. .RE .PP bitmapPseudoMerge\&.\&.maxMerges .RS 4 حداکثر تعداد کامیت‌های شبه‌ادغام را که کامیت‌ها ممکن است در میان آن‌ها توزیع شوند تعیین می‌کند\&. .sp برای گروه‌های شبه‌ادغام که الگوی آن‌ها شامل هیچ گروه تسخیری نیست، این تنظیم برای تمام کامیت‌های منطبق با عبارت منظم اعمال می‌شود\&. برای الگوهایی که یک یا چند گروه تسخیر دارند، این تنظیم برای هر گروه تسخیر متمایز اعمال می‌گردد\&. .sp برای مثال، اگر گروه تسخیر شما \fBrefs/tags/\fR باشد، این تنظیم تمام تگ‌ها را حداکثر در \fBmaxMerges\fR کامیت شبه‌ادغام توزیع می‌کند\&. با این حال، اگر گروه تسخیر شما مثلاً \fBrefs/remotes/\fR([\fB0\-9\fR]\fB+\fR)\fB/tags/\fR باشد، این تنظیم برای مجموعه تگ‌های هر ریموت به طور جداگانه اعمال خواهد شد\&. .sp باید نامنفی باشد\&. مقدار پیش‌فرض 64 است\&. .RE .PP bitmapPseudoMerge\&.\&.stableThreshold .RS 4 حداقل سن کامیت‌ها (در میان نوک‌های مرجع، همان‌طور که در بالا گفته شد، هرچند کامیت‌های پایدار حتی در صورتی که توسط یک نگاشت‌بیتی پوشش داده شده باشند همچنان نامزد در نظر گرفته می‌شوند) را که نامزد یک نگاشت‌بیتی شبه‌ادغام پایدار هستند تعیین می‌کند\&. مقدار پیش‌فرض \fB1\&.month\&.ago\fR است\&. .sp تنظیم این آستانه روی مقداری کوچک‌تر (مثلاً 1\&.week\&.ago) باعث می‌شود گروه‌های پایدار بیشتری ایجاد شوند (که هزینه تولید یک‌باره را تحمیل می‌کنند) اما این گروه‌ها احتمالاً با گذشت زمان کهنه می‌شوند\&. استفاده از یک مقدار بزرگ‌تر جریمه معکوس را به همراه دارد (گروه‌های پایدار کمتر که مفیدتر هستند)\&. .RE .PP bitmapPseudoMerge\&.\&.stableSize .RS 4 اندازه (بر حسب تعداد کامیت‌ها) یک نگاشت‌بیتی شبه‌ادغام پایدار را تعیین می‌کند\&. مقدار پیش‌فرض \fB512\fR است\&. .RE .PP blame\&.blankBoundary .RS 4 نمایش نام شیء کامیت خالی برای کامیت‌های مرزی در \fBgit-blame\fR(1)\&. این گزینه به طور پیش‌فرض روی false است\&. .RE .PP blame\&.coloring .RS 4 این متغیر طرح رنگ‌آمیزی اعمال‌شده بر خروجی blame را تعیین می‌کند\&. می‌تواند \fIrepeatedLines\fR، \fIhighlightRecent\fR یا \fInone\fR باشد که پیش‌فرض است\&. .RE .PP blame\&.date .RS 4 قالب مورد استفاده برای خروجی تاریخ‌ها در \fBgit-blame\fR(1) را مشخص می‌کند\&. در صورت عدم تنظیم، از قالب iso استفاده می‌شود\&. برای مقادیر پشتیبانی‌شده، توضیحات گزینه \fB\-\-date\fR را در \fBgit-log\fR(1) ببینید\&. .RE .PP blame\&.showEmail .RS 4 نمایش ایمیل نویسنده به جای نام نویسنده در \fBgit-blame\fR(1)\&. این گزینه به طور پیش‌فرض روی false است\&. .RE .PP blame\&.showRoot .RS 4 عدم برخورد با کامیت‌های ریشه به عنوان مرز در \fBgit-blame\fR(1)\&. این گزینه به طور پیش‌فرض روی false است\&. .RE .PP blame\&.ignoreRevsFile .RS 4 ویرایش‌های (revisions) فهرست‌شده در فایل را (یک نام شیء خلاصه‌نشده در هر خط) در \fBgit-blame\fR(1) نادیده می‌گیرد\&. فاصله‌های خالی و توضیحاتی که با # شروع می‌شوند نادیده گرفته می‌شوند\&. این گزینه ممکن است چندین بار تکرار شود\&. نام‌های فایل خالی، فهرست ویرایش‌های نادیده‌گرفته‌شده را بازنشانی می‌کنند\&. این گزینه پیش از گزینه خط فرمان \fB\-\-ignore\-revs\-file\fR پردازش خواهد شد\&. .RE .PP blame\&.markUnblamableLines .RS 4 خطوطی را که توسط یک ویرایش نادیده‌گرفته‌شده تغییر یافته‌اند و نتوانسته‌ایم آن‌ها را به کامیت دیگری نسبت دهیم، با یک \fI*\fR در خروجی \fBgit-blame\fR(1) علامت‌گذاری می‌کند\&. .RE .PP blame\&.markIgnoredLines .RS 4 خطوطی را که توسط یک ویرایش نادیده‌گرفته‌شده تغییر یافته‌اند و ما آن‌ها را به کامیت دیگری نسبت داده‌ایم، با یک \fI?\fR در خروجی \fBgit-blame\fR(1) علامت‌گذاری می‌کند\&. .RE .PP \fBbranch\&.autoSetupMerge\fR .RS 4 به \fBgit\fR \fBbranch\fR، \fBgit\fR \fBswitch\fR و \fBgit\fR \fBcheckout\fR می‌گوید شاخه‌های جدید را طوری تنظیم کنند که \fBgit-pull\fR(1) به طور مناسب از شاخه نقطه شروع ادغام شود\&. توجه داشته باشید که حتی اگر این گزینه تنظیم نشده باشد، این رفتار را می‌توان برای هر شاخه با استفاده از گزینه‌های \fB\-\-track\fR و \fB\-\-no\-track\fR انتخاب کرد\&. این گزینه به طور پیش‌فرض روی \fBtrue\fR است\&. تنظیمات معتبر عبارتند از: .PP \fBfalse\fR .RS 4 هیچ راه‌اندازی خودکاری انجام نمی‌شود .RE .PP \fBtrue\fR .RS 4 راه‌اندازی خودکار زمانی انجام می‌شود که نقطه شروع یک شاخه ردیابی ریموت باشد .RE .PP \fBalways\fR .RS 4 راه‌اندازی خودکار زمانی انجام می‌شود که نقطه شروع یک شاخه محلی یا یک شاخه ردیابی ریموت باشد .RE .PP \fBinherit\fR .RS 4 اگر نقطه شروع دارای پیکربندی ردیابی باشد، به شاخه جدید کپی می‌شود .RE .PP \fBsimple\fR .RS 4 راه‌اندازی خودکار تنها زمانی انجام می‌شود که نقطه شروع یک شاخه ردیابی ریموت باشد و شاخه جدید همان نام شاخه ریموت را داشته باشد\&. .RE .RE .PP \fBbranch\&.autoSetupRebase\fR .RS 4 هنگامی که یک شاخه جدید با \fBgit\fR \fBbranch\fR، \fBgit\fR \fBswitch\fR یا \fBgit\fR \fBcheckout\fR ایجاد می‌شود که شاخه دیگری را ردیابی می‌کند، این متغیر به Git می‌گوید pull را طوری تنظیم کند که به جای ادغام (merge)، بازسازی (rebase) انجام دهد (به \fBbranch\&.\fR\fI\fR\fB\&.rebase\fR مراجعه کنید)\&. تنظیمات معتبر عبارتند از: .PP \fBnever\fR .RS 4 rebase هرگز به طور خودکار روی true تنظیم نمی‌شود\&. .RE .PP \fBlocal\fR .RS 4 rebase برای شاخه‌های ردیابی‌شده سایر شاخه‌های محلی روی true تنظیم می‌شود\&. .RE .PP \fBremote\fR .RS 4 rebase برای شاخه‌های ردیابی‌شده شاخه‌های ردیابی ریموت روی true تنظیم می‌شود\&. .RE .PP \fBalways\fR .RS 4 rebase برای همه شاخه‌های ردیابی روی true تنظیم خواهد شد\&. .RE .sp برای جزئیات بیشتر در مورد نحوه تنظیم یک شاخه برای ردیابی شاخه دیگر، \fBbranch\&.autoSetupMerge\fR را ببینید\&. این گزینه به طور پیش‌فرض روی \fBnever\fR است\&. .RE .PP \fBbranch\&.sort\fR .RS 4 این متغیر ترتیب مرتب‌سازی شاخه‌ها را هنگام نمایش توسط \fBgit-branch\fR(1) کنترل می‌کند\&. بدون ارائه گزینه \fB\-\-sort=\fR\fI\fR، مقدار این متغیر به عنوان پیش‌فرض استفاده خواهد شد\&. برای مقادیر معتبر، نام فیلدهای \fBgit-for-each-ref\fR(1) را ببینید\&. .RE .PP \fBbranch\&.\fR\fI\fR\fB\&.remote\fR .RS 4 هنگامی که در شاخه \fI\fR هستید، به \fBgit\fR \fBfetch\fR و \fBgit\fR \fBpush\fR می‌گوید از کدام ریموت واکشی کرده یا به کدام ارسال کنند\&. ریموت مقصد ارسال ممکن است با \fBremote\&.pushDefault\fR (برای همه شاخه‌ها) بازنویسی شود\&. ریموت مقصد ارسال، برای شاخه فعلی، ممکن است بیشتر توسط \fBbranch\&.\fR\fI\fR\fB\&.pushRemote\fR بازنویسی گردد\&. اگر هیچ ریموتی پیکربندی نشده باشد، یا اگر در هیچ شاخه‌ای نباشید و بیش از یک ریموت در مخزن تعریف شده باشد، مقدار پیش‌فرض برای واکشی \fBorigin\fR و برای ارسال \fBremote\&.pushDefault\fR است\&. علاوه بر این، \&. (یک نقطه) نشان‌دهنده مخزن محلی فعلی است (یک مخزن نقطه‌ای یا dot\-repository)، یادداشت نهایی \fBbranch\&.\fR\fI\fR\fB\&.merge\fR را در زیر ببینید\&. .RE .PP \fBbranch\&.\fR\fI\fR\fB\&.pushRemote\fR .RS 4 هنگامی که در شاخه \fI\fR هستید، \fBbranch\&.\fR\fI\fR\fB\&.remote\fR را برای ارسال (push) بازنویسی می‌کند\&. همچنین \fBremote\&.pushDefault\fR را برای ارسال از شاخه \fI\fR بازنویسی می‌نماید\&. هنگامی که از یک مکان (مثلاً بالادست خود) pull می‌کنید و به مکان دیگری (مثلاً مخزن انتشار اختصاصی خود) push انجام می‌دهید، ممکن است بخواهید \fBremote\&.pushDefault\fR را برای مشخص کردن ریموت مقصد ارسال برای همه شاخه‌ها تنظیم کنید و از این گزینه برای بازنویسی آن برای یک شاخه خاص استفاده نمایید\&. .RE .PP \fBbranch\&.\fR\fI\fR\fB\&.merge\fR .RS 4 به همراه \fBbranch\&.\fR\fI\fR\fB\&.remote\fR، شاخه بالادست را برای شاخه داده‌شده تعریف می‌کند\&. به \fBgit\fR \fBfetch\fR/\fBgit\fR \fBpull\fR/\fBgit\fR \fBrebase\fR می‌گوید کدام شاخه را ادغام کنند و همچنین می‌تواند بر \fBgit\fR \fBpush\fR تأثیر بگذارد (به \fBpush\&.default\fR مراجعه کنید)\&. هنگامی که در شاخه \fI\fR هستید، به \fBgit\fR \fBfetch\fR مشخصه مرجع (refspec) پیش‌فرضی را که باید برای ادغام در \fBFETCH_HEAD\fR علامت‌گذاری شود می‌گوید\&. مقدار مانند بخش ریموت یک مشخصه مرجع مدیریت می‌شود و باید با مرجعی مطابقت داشته باشد که از ریموت ارائه‌شده توسط \fBbranch\&.\fR\fI\fR\fB\&.remote\fR واکشی شده است\&. اطلاعات ادغام توسط \fBgit\fR \fBpull\fR (که ابتدا \fBgit\fR \fBfetch\fR را فراخوانی می‌کند) برای یافتن شاخه پیش‌فرض ادغام استفاده می‌شود\&. بدون این گزینه، \fBgit\fR \fBpull\fR به طور پیش‌فرض اولین مشخصه مرجع واکشی‌شده را ادغام می‌کند\&. مقادیر متعددی را برای دستیابی به یک ادغام هشت‌پا (octopus merge) مشخص کنید\&. اگر می‌خواهید \fBgit\fR \fBpull\fR را طوری تنظیم کنید که از شاخه دیگری در مخزن محلی در \fI\fR ادغام شود، می‌توانید \fBbranch\&.\fR\fI\fR\fB\&.merge\fR را به شاخه مورد نظر اشاره دهید و از تنظیم مسیر نسبی \&. (یک نقطه) برای \fBbranch\&.\fR\fI\fR\fB\&.remote\fR استفاده نمایید\&. .RE .PP \fBbranch\&.\fR\fI\fR\fB\&.mergeOptions\fR .RS 4 گزینه‌های پیش‌فرض را برای ادغام در شاخه \fI\fR تنظیم می‌کند\&. نحو و گزینه‌های پشتیبانی‌شده مانند گزینه‌های \fBgit-merge\fR(1) هستند، اما مقادیر گزینه‌های حاوی نویسه‌های فاصله خالی در حال حاضر پشتیبانی نمی‌شوند\&. .RE .PP \fBbranch\&.\fR\fI\fR\fB\&.rebase\fR .RS 4 هنگامی که روی true باشد، در زمان اجرای \fBgit\fR \fBpull\fR، شاخه \fI\fR را به جای ادغام شاخه پیش‌فرض از ریموت پیش‌فرض، بر روی شاخه واکشی‌شده بازسازی (rebase) می‌کند\&. برای انجام این کار به شیوه‌ای غیر وابسته به شاخه، \fBpull\&.rebase\fR را ببینید\&. .sp هنگامی که روی \fBmerges\fR (یا صرفاً \fBm\fR) باشد، گزینه \fB\-\-rebase\-merges\fR را به \fBgit\fR \fBrebase\fR ارسال می‌کند تا کامیت‌های ادغام محلی در rebase گنجانده شوند (برای جزئیات به \fBgit-rebase\fR(1) مراجعه کنید)\&. .sp هنگامی که مقدار \fBinteractive\fR (یا صرفاً \fBi\fR) باشد، بازسازی در حالت تعاملی اجرا می‌شود\&. .sp \fBتوجه\fR: این عملیاتی بالقوه خطرناک است؛ از آن استفاده \fBنکنید\fR مگر اینکه پیامدهای آن را درک کرده باشید (برای جزئیات به \fBgit-rebase\fR(1) مراجعه کنید)\&. .RE .PP \fBbranch\&.\fR\fI\fR\fB\&.description\fR .RS 4 توضیحات شاخه، با \fBgit\fR \fBbranch\fR \fB\-\-edit\-description\fR قابل ویرایش است\&. توضیحات شاخه به طور خودکار به نامه مقدماتی (cover letter) در \fBformat\-patch\fR یا خلاصه \fBrequest\-pull\fR اضافه می‌شود\&. .RE .PP browser\&.\&.cmd .RS 4 دستور فراخوانی مرورگر مشخص‌شده را تعیین می‌کند\&. دستور مشخص‌شده در شل ارزیابی شده و نشانی‌های اینترنتی به عنوان آرگومان به آن ارسال می‌شوند\&. (به \fBgit-web--browse\fR(1) مراجعه کنید)\&. .RE .PP browser\&.\&.path .RS 4 مسیر ابزار داده‌شده را که ممکن است برای مرور راهنمای HTML (گزینه \fB\-w\fR در \fBgit-help\fR(1) را ببینید) یا یک مخزن کاری در gitweb (به \fBgit-instaweb\fR(1) مراجعه کنید) استفاده شود، بازنویسی می‌کند\&. .RE .PP bundle\&.* .RS 4 کلیدهای \fBbundle\&.*\fR ممکن است در یک فایل فهرست بسته (bundle list) که از طریق گزینه \fBgit\fR \fBclone\fR \fB\-\-bundle\-uri\fR یافت شده ظاهر شوند\&. این کلیدها در حال حاضر در صورت قرار گرفتن در فایل پیکربندی مخزن هیچ اثری ندارند، اگرچه این موضوع در آینده تغییر خواهد کرد\&. برای جزئیات بیشتر به \m[blue]\fBthe bundle URI design document\fR\m[]\&\s-2\u[1]\d\s+2 مراجعه کنید\&. .RE .PP bundle\&.version .RS 4 این مقدار عدد صحیح نسخه قالب فهرست بسته مورد استفاده توسط فهرست بسته را اعلان می‌کند\&. در حال حاضر، تنها مقدار پذیرفته‌شده \fB1\fR است\&. .RE .PP bundle\&.mode .RS 4 این مقدار رشته‌ای باید \fBall\fR یا \fBany\fR باشد\&. این مقدار مشخص می‌کند که آیا تمام بسته‌های اعلان‌شده برای باز کردن بسته و دستیابی به درک کاملی از اطلاعات بسته‌بندی‌شده مورد نیاز هستند (\fBall\fR) یا اینکه هر یک از URIهای بسته فهرست‌شده کافی است (\fBany\fR)\&. .RE .PP bundle\&.heuristic .RS 4 اگر این کلید با مقدار رشته‌ای وجود داشته باشد، فهرست بسته به گونه‌ای طراحی شده است که با دستورات افزایشی \fBgit\fR \fBfetch\fR به خوبی کار کند\&. این اکتشاف (heuristic) نشان می‌دهد که کلیدهای اضافی برای هر بسته در دسترس هستند که به تعیین زیرمجموعه‌ای از بسته‌ها که کلاینت باید دانلود کند کمک می‌نمایند\&. تنها مقداری که در حال حاضر قابل درک است \fBcreationToken\fR می‌باشد\&. .RE .PP bundle\&.\&.* .RS 4 کلیدهای \fBbundle\&.\fR\fI\fR\fB\&.*\fR برای توصیف یک آیتم منفرد در فهرست بسته استفاده می‌شوند که برای اهداف شناسایی تحت \fI\fR گروه‌بندی شده‌اند\&. .RE .PP bundle\&.\&.uri .RS 4 این مقدار رشته‌ای، نشانی URI را مشخص می‌کند که Git از طریق آن می‌تواند به محتویات این \fI\fR دسترسی پیدا کند\&. این URI ممکن است یک فایل بسته یا یک فهرست بسته دیگر باشد\&. .RE .PP \fBcheckout\&.defaultRemote\fR .RS 4 هنگامی که شما \fBgit\fR \fBcheckout\fR \fI\fR یا \fBgit\fR \fBswitch\fR \fI\fR را اجرا می‌کنید و فقط یک ریموت دارید، ممکن است به طور ضمنی به تحویل گرفتن و ردیابی به عنوان مثال \fBorigin/\fR\fI\fR بازگردد\&. به محض اینکه بیش از یک ریموت با مرجع \fI\fR داشته باشید، این عملکرد متوقف می‌شود\&. این تنظیم اجازه می‌دهد نام یک ریموت ترجیحی تنظیم شود که همیشه هنگام رفع ابهام اولویت داشته باشد\&. کاربرد معمول این است که این گزینه روی \fBorigin\fR تنظیم شود\&. .sp در حال حاضر این متغیر توسط \fBgit-switch\fR(1) و \fBgit-checkout\fR(1) زمانی استفاده می‌شود که \fBgit\fR \fBcheckout\fR \fI\fR یا \fBgit\fR \fBswitch\fR \fI\fR شاخه \fI\fR را روی ریموت دیگری تحویل بگیرند، و همچنین توسط \fBgit-worktree\fR(1) زمانی که \fBgit\fR \fBworktree\fR \fBadd\fR به یک شاخه ریموت ارجاع می‌دهد\&. این تنظیم ممکن است در آینده برای سایر دستورات یا قابلیت‌های مشابه checkout نیز استفاده شود\&. .RE .PP \fBcheckout\&.guess\fR .RS 4 مقدار پیش‌فرض را برای گزینه \fB\-\-guess\fR یا \fB\-\-no\-guess\fR در \fBgit\fR \fBcheckout\fR و \fBgit\fR \fBswitch\fR فراهم می‌کند\&. \fBgit-switch\fR(1) و \fBgit-checkout\fR(1) را ببینید\&. .RE .PP \fBcheckout\&.workers\fR .RS 4 تعداد کارگرهای موازی (parallel workers) مورد استفاده هنگام به‌روزرسانی درخت کاری\&. مقدار پیش‌فرض یک است، یعنی اجرای متوالی\&. اگر روی مقداری کمتر از یک تنظیم شود، Git به تعداد هسته‌های منطقی در دسترس از کارگرها استفاده خواهد کرد\&. این تنظیم و \fBcheckout\&.thresholdForParallelism\fR بر تمام دستوراتی که عمل چک‌اوت را انجام می‌دهند تأثیر می‌گذارند؛ مانند checkout، clone، reset، sparse\-checkout و غیره\&. .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBیادداشت\fR .ps -1 .br چک‌اوت موازی معمولاً برای مخازن قرارگرفته روی SSD یا روی NFS عملکرد بهتری ارائه می‌دهد\&. برای مخازن روی دیسک‌های چرخان یا ماشین‌هایی با تعداد هسته‌های اندک، چک‌اوت متوالی پیش‌فرض اغلب عملکرد بهتری دارد\&. اندازه و سطح فشرده‌سازی یک مخزن نیز ممکن است بر میزان کارایی نسخه موازی تأثیر بگذارد\&. .sp .5v .RE .RE .PP \fBcheckout\&.thresholdForParallelism\fR .RS 4 هنگام اجرای چک‌اوت موازی با تعداد اندکی فایل، هزینه ایجاد زیرفرآیند و ارتباط بین‌فرآیندی ممکن است بر مزایای موازی‌سازی بچربد\&. این تنظیم به شما اجازه می‌دهد حداقل تعداد فایل‌هایی را که چک‌اوت موازی باید برای آن‌ها امتحان شود تعیین کنید\&. مقدار پیش‌فرض 100 است\&. .RE .PP clean\&.requireForce .RS 4 یک مقدار بولی برای اینکه git\-clean از حذف فایل‌ها خودداری کند مگر آنکه گزینه \-f مشخص شده باشد\&. به‌طور پیش‌فرض true است\&. .RE .PP \fBclone\&.defaultRemoteName\fR .RS 4 نام ریموتی که هنگام کلون کردن یک مخزن ایجاد می‌شود\&. مقدار پیش‌فرض \fBorigin\fR است\&. می‌توان آن را با ارسال گزینه خط فرمان \fB\-\-origin\fR به \fBgit-clone\fR(1) بازنویسی کرد\&. .RE .PP \fBclone\&.rejectShallow\fR .RS 4 رد کردن کلون یک مخزن در صورتی که کم‌عمق (shallow) باشد؛ این رفتار را می‌توان با ارسال گزینه \fB\-\-reject\-shallow\fR در خط فرمان لغو کرد\&. به \fBgit-clone\fR(1) مراجعه کنید\&. .RE .PP \fBclone\&.filterSubmodules\fR .RS 4 اگر یک فیلتر کلون جزئی ارائه شده باشد (به \fB\-\-filter\fR در \fBgit-rev-list\fR(1) مراجعه کنید) و \fB\-\-recurse\-submodules\fR استفاده شود، فیلتر را برای زیرماژول‌ها نیز اعمال می‌کند\&. .RE .PP color\&.advice .RS 4 یک مقدار بولی برای فعال/غیرفعال کردن رنگ در پیام‌های راهنما (مثلاً هنگامی که یک push ناموفق بود، برای مشاهده فهرست به \fBadvice\&.*\fR مراجعه کنید)\&. ممکن است روی \fBalways\fR، \fBfalse\fR (یا \fBnever\fR) یا \fBauto\fR (یا \fBtrue\fR) تنظیم شود، که در این حالت رنگ‌ها تنها زمانی استفاده می‌شوند که خروجی خطا به یک ترمینال ارسال شود\&. اگر تنظیم نشده باشد، مقدار \fBcolor\&.ui\fR استفاده می‌شود (به‌طور پیش‌فرض \fBauto\fR)\&. .RE .PP color\&.advice\&.hint .RS 4 استفاده از رنگ سفارشی برای پیام‌های راهنما\&. .RE .PP color\&.blame\&.highlightRecent .RS 4 تعیین رنگ حاشیه‌نویسی خطوط برای \fBgit\fR \fBblame\fR \fB\-\-color\-by\-age\fR بسته به قدمت خط\&. .sp این تنظیم باید روی فهرستی از رنگ‌ها و تاریخ‌های جداشده با کاما تنظیم شود، که با یک رنگ آغاز شده و با یک رنگ پایان می‌یابد؛ تاریخ‌ها باید از قدیمی‌ترین به جدیدترین مرتب شوند\&. فراداده در صورتی که خط قبل از برچسب زمانی داده‌شده ایجاد شده باشد با رنگ‌های مشخص‌شده رنگ‌آمیزی می‌شود، و رنگ‌های برچسب زمانی قدیمی‌تر را بازنویسی می‌کند\&. .sp به جای برچسب زمانی مطلق، برچسب‌های زمانی نسبی نیز کار می‌کنند، مثلاً \fB2\&.weeks\&.ago\fR برای اشاره به هر موردی قدیمی‌تر از ۲ هفته معتبر است\&. .sp مقدار پیش‌فرض آن \fBblue\fR,12 \fBmonth\fR \fBago\fR,white,1 \fBmonth\fR \fBago\fR,red است، که هر چیزی قدیمی‌تر از یک سال را آبی می‌کند، تغییرات اخیر بین یک ماه تا یک سال سفید نگه داشته می‌شوند، و خطوط ایجادشده در طول یک ماه گذشته به رنگ قرمز درمی‌آیند\&. .RE .PP color\&.blame\&.repeatedLines .RS 4 استفاده از رنگ مشخص‌شده برای رنگ‌آمیزی حاشیه‌نویسی خطوط در \fBgit\fR \fBblame\fR \fB\-\-color\-lines\fR، در صورتی که از همان کامیت خط قبلی آمده باشند\&. مقدار پیش‌فرض cyan است\&. .RE .PP color\&.branch .RS 4 یک مقدار بولی برای فعال/غیرفعال کردن رنگ در خروجی \fBgit-branch\fR(1)\&. می‌تواند روی \fBalways\fR، \fBfalse\fR (یا \fBnever\fR) یا \fBauto\fR (یا \fBtrue\fR) تنظیم شود، که در این حالت رنگ‌ها تنها زمانی استفاده می‌شوند که خروجی به یک ترمینال ارسال شود\&. در صورت تنظیم نشدن، مقدار \fBcolor\&.ui\fR استفاده می‌شود (به‌طور پیش‌فرض \fBauto\fR)\&. .RE .PP color\&.branch\&. .RS 4 استفاده از رنگ سفارشی برای رنگ‌آمیزی شاخه\&. \fI\fR یکی از موارد زیر است: \fBcurrent\fR (شاخه فعلی)، \fBlocal\fR (یک شاخه محلی)، \fBremote\fR (یک شاخه ردیابی از راه دور در refs/remotes/)، \fBupstream\fR (شاخه ردیابی بالادست)، \fBplain\fR (سایر ارجاع‌ها)\&. .RE .PP color\&.diff .RS 4 آیا از دنباله‌های گریز ANSI برای افزودن رنگ به پچ‌ها استفاده شود یا خیر\&. اگر این مقدار روی \fBalways\fR تنظیم شود، دستورات \fBgit-diff\fR(1)، \fBgit-log\fR(1) و \fBgit-show\fR(1) برای تمام پچ‌ها از رنگ استفاده خواهند کرد\&. اگر روی \fBtrue\fR یا \fBauto\fR تنظیم شود، این دستورات تنها زمانی که خروجی به ترمینال می‌رود از رنگ استفاده می‌کنند\&. اگر تنظیم نشده باشد، مقدار \fBcolor\&.ui\fR استفاده می‌شود (به‌طور پیش‌فرض \fBauto\fR)\&. .sp این تنظیم روی \fBgit-format-patch\fR(1) یا دستورات لوله‌کشی (plumbing) \fIgit\-diff\-*\fR تأثیری ندارد\&. می‌تواند در خط فرمان با گزینه \fB\-\-color\fR[\fB=\fR\fI\fR] لغو شود\&. .RE .PP color\&.diff\&. .RS 4 استفاده از رنگ سفارشی برای رنگ‌آمیزی diff\&. \fI\fR مشخص می‌کند که کدام بخش از پچ از رنگ مشخص‌شده استفاده کند، و یکی از موارد زیر است: \fBcontext\fR (متن زمینه \- \fBplain\fR یک مترادف قدیمی است)، \fBmeta\fR (اطلاعات متا)، \fBfrag\fR (هدر تکه تغییرات)، \fIfunc\fR (تابع در هدر تکه تغییرات)، \fBold\fR (خطوط حذف‌شده)، \fBnew\fR (خطوط اضافه‌شده)، \fBcommit\fR (هدرهای کامیت)، \fBwhitespace\fR (برجسته‌سازی خطاهای فاصله‌گذاری)، \fBoldMoved\fR (خطوط حذف‌شده)، \fBnewMoved\fR (خطوط اضافه‌شده)، \fBoldMovedDimmed\fR، \fBoldMovedAlternative\fR، \fBoldMovedAlternativeDimmed\fR، \fBnewMovedDimmed\fR، \fBnewMovedAlternative\fR \fBnewMovedAlternativeDimmed\fR (برای جزئیات به تنظیم \fI\fR در گزینه \fI\-\-color\-moved\fR از \fBgit-diff\fR(1) مراجعه کنید)، \fBcontextDimmed\fR، \fBoldDimmed\fR، \fBnewDimmed\fR، \fBcontextBold\fR، \fBoldBold\fR و \fBnewBold\fR (برای جزئیات به \fBgit-range-diff\fR(1) مراجعه کنید)\&. .RE .PP color\&.decorate\&. .RS 4 استفاده از رنگ سفارشی برای خروجی \fIgit log \-\-decorate\fR\&. \fI\fR به ترتیب یکی از مقادیر \fBbranch\fR، \fBremoteBranch\fR، \fBtag\fR، \fBstash\fR یا \fBHEAD\fR برای شاخه‌های محلی، شاخه‌های ردیابی ریموت، برچسب‌ها، استش و HEAD است و \fBgrafted\fR برای کامیت‌های پیوندخورده (grafted)\&. .RE .PP color\&.grep .RS 4 هنگامی که روی \fBalways\fR تنظیم شود، همیشه موارد منطبق را برجسته می‌کند\&. هنگامی که \fBfalse\fR (یا \fBnever\fR) باشد، هرگز\&. هنگامی که روی \fBtrue\fR یا \fBauto\fR تنظیم شود، رنگ را تنها زمانی استفاده می‌کند که خروجی در ترمینال نوشته شود\&. اگر تنظیم نشده باشد، مقدار \fBcolor\&.ui\fR استفاده می‌شود (به‌طور پیش‌فرض \fBauto\fR)\&. .RE .PP color\&.grep\&. .RS 4 استفاده از رنگ سفارشی برای رنگ‌آمیزی grep\&. \fI\fR مشخص می‌کند کدام بخش از خط از رنگ مشخص‌شده استفاده کند، و یکی از موارد زیر است: .PP \fBcontext\fR .RS 4 متن غیرمنطبق در خطوط زمینه (هنگام استفاده از \fB\-A\fR، \fB\-B\fR یا \fB\-C\fR) .RE .PP \fBfilename\fR .RS 4 پیشوند نام فایل (هنگامی که از \fB\-h\fR استفاده نمی‌شود) .RE .PP \fBfunction\fR .RS 4 خطوط نام تابع (هنگام استفاده از \fB\-p\fR) .RE .PP \fBlineNumber\fR .RS 4 پیشوند شماره خط (هنگام استفاده از \fB\-n\fR) .RE .PP \fBcolumn\fR .RS 4 پیشوند شماره ستون (هنگام استفاده از \fB\-\-column\fR) .RE .PP \fBmatch\fR .RS 4 متن منطبق (مشابه تنظیم \fBmatchContext\fR و \fBmatchSelected\fR) .RE .PP \fBmatchContext\fR .RS 4 متن منطبق در خطوط زمینه .RE .PP \fBmatchSelected\fR .RS 4 متن منطبق در خطوط انتخاب‌شده\&. همچنین برای سفارشی‌سازی زیردستورهای زیر از \fBgit-log\fR(1) استفاده می‌شود: \fB\-\-grep\fR، \fB\-\-author\fR و \fB\-\-committer\fR\&. .RE .PP \fBselected\fR .RS 4 متن غیرمنطبق در خطوط انتخاب‌شده\&. همچنین برای سفارشی‌سازی زیردستورهای زیر از \fBgit-log\fR(1) استفاده می‌شود: \fB\-\-grep\fR، \fB\-\-author\fR و \fB\-\-committer\fR\&. .RE .PP \fBseparator\fR .RS 4 جداکننده‌های بین فیلدها در یک خط (\fB:\fR، \fB\-\fR و \fB=\fR) و بین تکه‌ها (\fB\-\-\fR) .RE .RE .PP color\&.interactive .RS 4 هنگامی که روی \fBalways\fR تنظیم شود، همیشه از رنگ‌ها برای اعلانات و نمایش‌های تعاملی استفاده کن (مانند مواردی که توسط "git\-add \-\-interactive" و "git\-clean \-\-interactive" استفاده می‌شود)\&. هنگامی که false (یا \fBnever\fR) باشد، هرگز\&. هنگامی که روی \fBtrue\fR یا \fBauto\fR تنظیم شود، رنگ‌ها تنها زمانی استفاده می‌شوند که خروجی به ترمینال باشد\&. در صورت تنظیم نشدن، مقدار \fBcolor\&.ui\fR استفاده می‌شود (به‌طور پیش‌فرض \fBauto\fR)\&. .RE .PP color\&.interactive\&. .RS 4 استفاده از رنگ سفارشی برای خروجی‌های \fIgit add \-\-interactive\fR و \fIgit clean \-\-interactive\fR\&. \fI\fR می‌تواند \fBprompt\fR، \fBheader\fR، \fBhelp\fR یا \fBerror\fR برای چهار نوع متمایز از خروجی‌های عادی دستورات تعاملی باشد\&. .RE .PP color\&.pager .RS 4 یک مقدار بولی برای مشخص کردن اینکه آیا حالت‌های رنگی \fBauto\fR باید خروجی ارسال‌شده به صفحه‌بندی‌کننده (pager) را رنگ‌آمیزی کنند یا خیر\&. پیش‌فرض true است؛ اگر صفحه‌بندی‌کننده شما کدهای رنگی ANSI را درک نمی‌کند، این را روی false تنظیم کنید\&. .RE .PP color\&.push .RS 4 یک مقدار بولی برای فعال/غیرفعال کردن رنگ در خطاهای push\&. ممکن است روی \fBalways\fR، \fBfalse\fR (یا \fBnever\fR) یا \fBauto\fR (یا \fBtrue\fR) تنظیم شود، که در این حالت رنگ‌ها تنها زمانی استفاده می‌شوند که خروجی خطا به یک ترمینال ارسال شود\&. در صورت تنظیم نشدن، مقدار \fBcolor\&.ui\fR استفاده می‌شود (به‌طور پیش‌فرض \fBauto\fR)\&. .RE .PP color\&.push\&.error .RS 4 استفاده از رنگ سفارشی برای خطاهای push\&. .RE .PP color\&.remote .RS 4 در صورت تنظیم، کلمات کلیدی در ابتدای خط برجسته می‌شوند\&. این کلمات کلیدی شامل "error" ،"warning" ،"hint" و "success" هستند و بدون حساسیت به بزرگی و کوچکی حروف تطبیق داده می‌شوند\&. ممکن است روی \fBalways\fR، \fBfalse\fR (یا \fBnever\fR) یا \fBauto\fR (یا \fBtrue\fR) تنظیم شود\&. در صورت تنظیم نشدن، مقدار \fBcolor\&.ui\fR استفاده می‌شود (به‌طور پیش‌فرض \fBauto\fR)\&. .RE .PP color\&.remote\&. .RS 4 استفاده از رنگ سفارشی برای هر کلمه کلیدی ریموت\&. \fI\fR می‌تواند \fBhint\fR، \fBwarning\fR، \fBsuccess\fR یا \fBerror\fR باشد که با کلمه کلیدی متناظر تطبیق می‌یابد\&. .RE .PP color\&.showBranch .RS 4 یک مقدار بولی برای فعال/غیرفعال کردن رنگ در خروجی \fBgit-show-branch\fR(1)\&. می‌تواند روی \fBalways\fR، \fBfalse\fR (یا \fBnever\fR) یا \fBauto\fR (یا \fBtrue\fR) تنظیم شود، که در این صورت رنگ‌ها تنها زمانی که خروجی به ترمینال ارسال می‌شود به کار می‌روند\&. در صورت تنظیم نشدن، مقدار \fBcolor\&.ui\fR استفاده می‌شود (به‌طور پیش‌فرض \fBauto\fR)\&. .RE .PP color\&.status .RS 4 یک مقدار بولی برای فعال/غیرفعال کردن رنگ در خروجی \fBgit-status\fR(1)\&. می‌تواند روی \fBalways\fR، \fBfalse\fR (یا \fBnever\fR) یا \fBauto\fR (یا \fBtrue\fR) تنظیم شود، که در این حالت رنگ‌ها فقط زمانی که خروجی به یک ترمینال می‌رود استفاده می‌شوند\&. در صورت تنظیم نشدن، مقدار \fBcolor\&.ui\fR استفاده می‌شود (به‌طور پیش‌فرض \fBauto\fR)\&. .RE .PP color\&.status\&. .RS 4 استفاده از رنگ سفارشی برای رنگ‌آمیزی وضعیت\&. \fI\fR یکی از موارد زیر است: \fBheader\fR (متن هدر پیام وضعیت)، \fBadded\fR یا \fBupdated\fR (فایل‌هایی که اضافه شده‌اند اما هنوز کامیت نشده‌اند)، \fBchanged\fR (فایل‌هایی که تغییر یافته‌اند اما در ایندکس اضافه نشده‌اند)، \fBuntracked\fR (فایل‌هایی که توسط Git ردیابی نمی‌شوند)، \fBbranch\fR (شاخه فعلی)، \fBnobranch\fR (رنگی که هشدار \fIno branch\fR با آن نشان داده می‌شود، با پیش‌فرض قرمز)، \fBlocalBranch\fR یا \fBremoteBranch\fR (به ترتیب نام شاخه محلی و ریموت، زمانی که اطلاعات شاخه و ردیابی در قالب کوتاه وضعیت نمایش داده می‌شود)، یا \fBunmerged\fR (فایل‌هایی که تغییرات ادغام‌نشده دارند)\&. .RE .PP color\&.transport .RS 4 یک مقدار بولی برای فعال/غیرفعال کردن رنگ هنگام رد شدن pushها\&. ممکن است روی \fBalways\fR، \fBfalse\fR (یا \fBnever\fR) یا \fBauto\fR (یا \fBtrue\fR) تنظیم شود، که در این حالت رنگ‌ها فقط زمانی که خروجی خطا به یک ترمینال ارسال می‌شود استفاده می‌گردند\&. در صورت تنظیم نشدن، مقدار \fBcolor\&.ui\fR استفاده می‌شود (به‌طور پیش‌فرض \fBauto\fR)\&. .RE .PP color\&.transport\&.rejected .RS 4 استفاده از رنگ سفارشی هنگامی که یک push رد شده باشد\&. .RE .PP color\&.ui .RS 4 این متغیر مقدار پیش‌فرض را برای متغیرهایی مانند \fBcolor\&.diff\fR و \fBcolor\&.grep\fR تعیین می‌کند که استفاده از رنگ را در هر خانواده دستور کنترل می‌نمایند\&. دامنه آن با پشتیبانی دستورات بیشتر از قابلیت پیکربندی جهت تعیین پیش‌فرض برای گزینه \fB\-\-color\fR گسترش خواهد یافت\&. اگر ترجیح می‌دهید دستورات Git از رنگ استفاده نکنند مگر اینکه صریحاً با پیکربندی دیگری یا گزینه \fB\-\-color\fR فعال شده باشد، آن را روی \fBfalse\fR یا \fBnever\fR تنظیم کنید\&. اگر می‌خواهید تمام خروجی‌هایی که برای پردازش ماشینی در نظر گرفته نشده‌اند از رنگ استفاده کنند آن را روی \fBalways\fR، و اگر می‌خواهید این خروجی‌ها هنگام ارسال به ترمینال از رنگ استفاده کنند آن را روی \fBtrue\fR یا \fBauto\fR تنظیم نمایید (این گزینه از Git 1\&.8\&.4 مقدار پیش‌فرض است)\&. .RE .PP column\&.ui .RS 4 مشخص می‌کند که آیا دستورات پشتیبانی‌شده باید خروجی را در ستون‌ها نمایش دهند یا خیر\&. این متغیر شامل فهرستی از توکن‌ها است که با فاصله یا کاما از هم جدا شده‌اند: .sp این گزینه‌ها زمان فعال بودن این ویژگی را کنترل می‌کنند (به‌طور پیش‌فرض \fInever\fR): .PP \fBalways\fR .RS 4 همیشه در ستون‌ها نمایش داده شود .RE .PP \fBnever\fR .RS 4 هرگز در ستون‌ها نمایش داده نشود .RE .PP \fBauto\fR .RS 4 اگر خروجی به ترمینال برود در ستون‌ها نمایش داده شود .RE .sp این گزینه‌ها چیدمان را کنترل می‌کنند (به‌طور پیش‌فرض \fIcolumn\fR)\&. تنظیم هر یک از این موارد در صورتی که هیچ‌یک از مقادیر \fIalways\fR، \fInever\fR یا \fIauto\fR مشخص نشده باشند، به معنای \fIalways\fR خواهد بود\&. .PP \fBcolumn\fR .RS 4 ستون‌ها قبل از سطرها پر شوند .RE .PP \fBrow\fR .RS 4 سطرها قبل از ستون‌ها پر شوند .RE .PP \fBplain\fR .RS 4 در یک ستون نمایش داده شود .RE .sp در نهایت، این گزینه‌ها را می‌توان با یک گزینه چیدمان ترکیب کرد (به‌طور پیش‌فرض \fInodense\fR): .PP \fBdense\fR .RS 4 ایجاد ستون‌هایی با اندازه نابرابر برای بهره‌گیری از فضای بیشتر .RE .PP \fBnodense\fR .RS 4 ایجاد ستون‌هایی با اندازه برابر .RE .RE .PP column\&.branch .RS 4 مشخص می‌کند که آیا خروجی فهرست شاخه‌ها در \fBgit\fR \fBbranch\fR به صورت ستونی نمایش داده شود یا خیر\&. برای جزئیات به \fBcolumn\&.ui\fR مراجعه کنید\&. .RE .PP column\&.clean .RS 4 تعیین چیدمان هنگام فهرست کردن موارد در \fBgit\fR \fBclean\fR \fB\-i\fR، که همیشه فایل‌ها و پوشه‌ها را در ستون‌ها نشان می‌دهد\&. برای جزئیات به \fBcolumn\&.ui\fR مراجعه کنید\&. .RE .PP column\&.status .RS 4 مشخص می‌کند که آیا فایل‌های ردیابی‌نشده در \fBgit\fR \fBstatus\fR به صورت ستونی نمایش داده شوند یا خیر\&. برای جزئیات به \fBcolumn\&.ui\fR مراجعه کنید\&. .RE .PP column\&.tag .RS 4 مشخص می‌کند که آیا فهرست برچسب‌ها در \fBgit\fR \fBtag\fR به صورت ستونی نمایش داده شود یا خیر\&. برای جزئیات به \fBcolumn\&.ui\fR مراجعه کنید\&. .RE .PP \fBcommit\&.cleanup\fR .RS 4 این تنظیم پیش‌فرض گزینه \fB\-\-cleanup\fR را در \fBgit\fR \fBcommit\fR بازنویسی می‌کند\&. برای جزئیات به \fBgit-commit\fR(1) مراجعه کنید\&. تغییر مقدار پیش‌فرض زمانی مفید است که می‌خواهید خطوطی را که با نویسه توضیح (\fBcore\&.commentChar\fR، پیش‌فرض #) شروع می‌شوند همیشه در پیام گزارش خود نگه دارید، که در این حالت دستور زیر را اجرا می‌کنید: \fBgit\fR \fBconfig\fR \fBcommit\&.cleanup\fR \fBwhitespace\fR (توجه داشته باشید که اگر این کار را انجام دهید، خودتان باید خطوط راهنما را که با نویسه توضیح در الگوی گزارش کامیت شروع می‌شوند، حذف کنید)\&. .RE .PP \fBcommit\&.gpgSign\fR .RS 4 یک مقدار بولی برای مشخص کردن اینکه آیا تمام کامیت‌ها باید با GPG امضا شوند یا خیر\&. استفاده از این گزینه هنگام انجام عملیاتی مانند rebase می‌تواند به امضا شدن تعداد زیادی کامیت منجر شود\&. برای جلوگیری از تایپ چندباره عبارت عبور GPG، ممکن است استفاده از یک agent مناسب باشد\&. .RE .PP \fBcommit\&.status\fR .RS 4 یک مقدار بولی برای فعال/غیرفعال کردن درج اطلاعات وضعیت در الگوی پیام کامیت هنگام استفاده از ویرایشگر برای آماده‌سازی پیام کامیت\&. به‌طور پیش‌فرض \fBtrue\fR است\&. .RE .PP \fBcommit\&.template\fR .RS 4 مسیر فایلی را مشخص می‌کند که به عنوان الگو برای پیام‌های کامیت جدید استفاده شود\&. .RE .PP \fBcommit\&.verbose\fR .RS 4 یک مقدار بولی یا عددی برای تعیین سطح جزئیات خروجی در \fBgit\fR \fBcommit\fR\&. برای جزئیات به \fBgit-commit\fR(1) مراجعه کنید\&. .RE .PP commitGraph\&.generationVersion .RS 4 نوع نسخه شماره نسل را برای استفاده هنگام نوشتن یا خواندن فایل commit\-graph مشخص می‌کند\&. اگر نسخه 1 مشخص شود، تاریخ‌های تصحیح‌شده کامیت نوشته یا خوانده نخواهند شد\&. به‌طور پیش‌فرض 2 است\&. .RE .PP commitGraph\&.maxNewFilters .RS 4 مقدار پیش‌فرض را برای گزینه \fB\-\-max\-new\-filters\fR در دستور \fBgit\fR \fBcommit\-graph\fR \fBwrite\fR مشخص می‌کند (قیاس کنید با \fBgit-commit-graph\fR(1))\&. .RE .PP commitGraph\&.changedPaths .RS 4 اگر true باشد، \fBgit\fR \fBcommit\-graph\fR \fBwrite\fR به‌طور پیش‌فرض فیلترهای بلوم مسیرهای تغییریافته را محاسبه کرده و می‌نویسد، که معادل با ارسال \fB\-\-changed\-paths\fR است\&. اگر false یا تنظیم‌نشده باشد، فیلترهای بلوم مسیرهای تغییریافته در حین \fBgit\fR \fBcommit\-graph\fR \fBwrite\fR فقط در صورتی نوشته می‌شوند که این فیلترها از قبل در فایل commit\-graph فعلی وجود داشته باشند\&. این با رفتار پیش‌فرض \fBgit\fR \fBcommit\-graph\fR \fBwrite\fR بدون هیچ گزینه \fB\-\-\fR[\fBno\-\fR]\fBchanged\-paths\fR مطابقت دارد\&. برای بازنویسی فایل commit\-graph بدون فیلترها، از گزینه \fB\-\-no\-changed\-paths\fR استفاده کنید\&. گزینه خط فرمان \fB\-\-\fR[\fBno\-\fR]\fBchanged\-paths\fR همیشه بر این پیکربندی اولویت دارد\&. مقدار پیش‌فرض تنظیم‌نشده است\&. .RE .PP commitGraph\&.readChangedPaths .RS 4 منسوخ شده است\&. معادل commitGraph\&.changedPathsVersion=\-1 در صورت true بودن، و commitGraph\&.changedPathsVersion=0 در صورت false بودن است\&. (اگر commitGraph\&.changedPathVersion نیز تنظیم شده باشد، commitGraph\&.changedPathsVersion اولویت دارد\&.) .RE .PP commitGraph\&.changedPathsVersion .RS 4 نسخه فیلترهای بلوم مسیرهای تغییریافته را که Git می‌خواند و می‌نویسد مشخص می‌کند\&. ممکن است \-1، 0، 1 یا 2 باشد\&. توجه داشته باشید که مقادیر بزرگتر از 1 ممکن است با نسخه‌های قدیمی‌تر Git که هنوز آن نسخه‌ها را درک نمی‌کنند ناسازگار باشند\&. هنگام کار در محیطی با نسخه‌های ترکیبی احتیاط کنید\&. .sp پیش‌فرض \-1 است\&. .sp اگر \-1 باشد، Git از نسخه فیلترهای بلوم مسیرهای تغییریافته موجود در مخزن استفاده می‌کند، و اگر هیچ‌کدام وجود نداشته باشد پیش‌فرض 1 خواهد بود\&. .sp اگر 0 باشد، Git هیچ فیلتر بلومی را نمی‌خواند، و هنگام صدور دستور نوشتن، فیلترهای بلوم نسخه 1 را می‌نویسد\&. .sp اگر 1 باشد، Git فقط فیلترهای بلوم نسخه 1 را می‌خواند، و فیلترهای بلوم نسخه 1 را می‌نویسد\&. .sp اگر 2 باشد، Git فقط فیلترهای بلوم نسخه 2 را می‌خواند، و فیلترهای بلوم نسخه 2 را می‌نویسد\&. .sp برای اطلاعات بیشتر به \fBgit-commit-graph\fR(1) مراجعه کنید\&. .RE .PP completion\&.commands .RS 4 این متغیر تنها توسط git\-completion\&.bash برای افزودن یا حذف دستورات از فهرست دستورات تکمیل خودکار استفاده می‌شود\&. معمولاً فقط دستورات سطوح بالا (porcelain) و تعداد معدودی دستور منتخب دیگر تکمیل می‌شوند\&. می‌توانید دستورات بیشتری را که با فاصله از هم جدا شده‌اند به این متغیر اضافه کنید\&. قرار دادن پیشوند \fI\-\fR پیش از دستور، آن را از فهرست موجود حذف می‌کند\&. .RE .PP core\&.fileMode .RS 4 به Git می‌گوید که آیا بیت اجرایی (executable bit) فایل‌ها در درخت کاری رعایت شود یا خیر\&. .sp برخی سیستم‌های فایل هنگام چک‌اوت فایلی که به عنوان قابل اجرا علامت‌گذاری شده است، بیت اجرایی را از دست می‌دهند، یا فایلی غیرقابل اجرا را با بیت اجرایی فعال چک‌اوت می‌کنند\&. \fBgit-clone\fR(1) یا \fBgit-init\fR(1) سیستم فایل را بررسی می‌کنند تا ببینند آیا بیت قابل اجرا را به درستی مدیریت می‌کند یا خیر و این متغیر در صورت نیاز به‌طور خودکار تنظیم می‌شود\&. .sp با این حال، ممکن است یک مخزن روی سیستم فایلی باشد که حالت فایل را به درستی مدیریت می‌کند، و این متغیر هنگام ایجاد روی \fItrue\fR تنظیم شده باشد، اما بعداً از محیط دیگری در دسترس قرار گیرد که حالت فایل را از بین می‌برد (مانند صادر کردن ext4 از طریق مانت CIFS، یا بازدید از مخزن ایجادشده در Cygwin توسط Git for Windows یا Eclipse)\&. در چنین حالتی ممکن است لازم باشد این متغیر روی \fIfalse\fR تنظیم شود\&. به \fBgit-update-index\fR(1) مراجعه کنید\&. .sp مقدار پیش‌فرض true است (زمانی که core\&.filemode در فایل پیکربندی مشخص نشده باشد)\&. .RE .PP core\&.hideDotFiles .RS 4 (فقط ویندوز) اگر true باشد، پوشه‌ها و فایل‌های تازه‌ایجادشده را که نام آن‌ها با نقطه آغاز می‌شود به عنوان پنهان علامت‌گذاری می‌کند\&. اگر \fIdotGitOnly\fR باشد، تنها پوشه \fB\&.git/\fR پنهان می‌شود، اما فایل‌های دیگر که با نقطه شروع می‌شوند پنهان نخواهند شد\&. حالت پیش‌فرض \fIdotGitOnly\fR است\&. .RE .PP core\&.ignoreCase .RS 4 متغیر داخلی که راهکارهای مختلفی را برای کارکرد بهتر Git در سیستم‌های فایلی که به بزرگی و کوچکی حروف حساس نیستند (مانند APFS، HFS+، FAT، NTFS و غیره) فعال می‌کند\&. برای مثال، اگر فهرست یک پوشه شامل "makefile" باشد در حالی که Git انتظار "Makefile" را دارد، Git فرض می‌کند که واقعاً همان فایل است و همچنان آن را به عنوان "Makefile" به یاد می‌سپارد\&. .sp پیش‌فرض false است، به جز اینکه \fBgit-clone\fR(1) یا \fBgit-init\fR(1) هنگام ایجاد مخزن، سیستم را بررسی کرده و در صورت لزوم core\&.ignoreCase را روی true تنظیم می‌کنند\&. .sp عملکرد صحیح Git به پیکربندی درست این متغیر متناسب با سیستم عامل و سیستم فایل شما وابسته است\&. تغییر این مقدار ممکن است رفتارهای غیرمنتظره‌ای ایجاد کند\&. .RE .PP core\&.precomposeUnicode .RS 4 این گزینه تنها توسط پیاده‌سازی Mac OS از Git استفاده می‌شود\&. هنگامی که core\&.precomposeUnicode=true باشد، Git تجزیه یونیکد (unicode decomposition) نام فایل‌ها را که توسط Mac OS انجام شده به حالت اولیه بازمی‌گرداند\&. این قابلیت هنگام اشتراک‌گذاری یک مخزن میان Mac OS و لینوکس یا ویندوز مفید است\&. (Git for Windows نسخه 1\&.7\&.10 یا بالاتر مورد نیاز است، یا Git تحت cygwin 1\&.7)\&. هنگامی که false باشد، نام فایل‌ها توسط Git به صورت کاملاً شفاف پردازش می‌شوند که با نسخه‌های قدیمی‌تر Git سازگار است\&. .RE .PP core\&.protectHFS .RS 4 اگر روی true تنظیم شود، اجازه چک‌اوت مسیرهایی را که در سیستم فایل HFS+ معادل \fB\&.git\fR محسوب می‌شوند نمی‌دهد\&. به‌طور پیش‌فرض روی Mac OS برابر \fBtrue\fR و در سایر جاها \fBfalse\fR است\&. .RE .PP core\&.protectNTFS .RS 4 اگر روی true تنظیم شود، اجازه چک‌اوت مسیرهایی را که ممکن است در سیستم فایل NTFS مشکلاتی ایجاد کنند (مانند تداخل با نام‌های "کوتاه" 8\&.3) نمی‌دهد\&. به‌طور پیش‌فرض در ویندوز برابر \fBtrue\fR و در سایر جاها \fBfalse\fR است\&. .RE .PP core\&.fsmonitor .RS 4 اگر روی true تنظیم شود، دیمن پایشگر داخلی سیستم فایل را برای این درخت کاری فعال می‌کند (\fBgit\-fsmonitor\-\-daemon\fR(1))\&. .sp همانند پایشگرهای سیستم فایل مبتنی بر هوک، پایشگر داخلی سیستم فایل می‌تواند سرعت دستورات Git را که نیاز به تازه‌سازی ایندکس Git دارند (مانند \fBgit\fR \fBstatus\fR) در یک درخت کاری با فایل‌های پرتعداد افزایش دهد\&. پایشگر داخلی نیاز به نصب و نگهداری یک ابزار خارجی شخص ثالث را برطرف می‌کند\&. .sp پایشگر داخلی سیستم فایل در حال حاضر فقط روی پلتفرم‌های پشتیبانی‌شده محدودی در دسترس است\&. در حال حاضر این پلتفرم‌ها شامل Windows و MacOS هستند\&. .sp در غیر این صورت، این متغیر شامل مسیر دستور هوک "fsmonitor" است\&. .sp این دستور هوک برای شناسایی تمام فایل‌هایی که ممکن است از تاریخ/زمان درخواستی تغییر کرده باشند استفاده می‌شود\&. این اطلاعات برای افزایش سرعت git از طریق اجتناب از اسکن غیرضروری فایل‌هایی که تغییر نکرده‌اند به کار می‌رود\&. .sp به بخش "fsmonitor\-watchman" از \fBgithooks\fR(5) مراجعه کنید\&. .sp توجه داشته باشید که اگر همزمان از چند نسخه Git استفاده می‌کنید (مانند یک نسخه در خط فرمان و نسخه دیگر در یک ابزار IDE)، تعریف \fBcore\&.fsmonitor\fR گسترش یافته تا علاوه بر مسیرهای هوک، مقادیر بولی را نیز بپذیرد\&. نسخه‌های Git 2\&.35\&.1 و قبل از آن، مقادیر بولی را متوجه نمی‌شوند و مقادیر "true" یا "false" را به عنوان مسیر هوکی که باید اجرا شود در نظر می‌گیرند\&. نسخه‌های Git بین 2\&.26 تا 2\&.35\&.1 به‌طور پیش‌فرض از پروتکل هوک V2 استفاده می‌کنند و به حالت بدون fsmonitor (اسکن کامل) بازمی‌گردند\&. نسخه‌های Git قبل از 2\&.26 به‌طور پیش‌فرض از پروتکل هوک V1 استفاده می‌کنند و بدون هشدار فرض می‌کنند هیچ تغییری برای گزارش وجود ندارد (بدون اسکن)، بنابراین دستورات status ممکن است نتایج ناقص گزارش کنند\&. به همین دلیل، بهتر است پیش از استفاده از پایشگر داخلی سیستم فایل، تمام نسخه‌های Git خود را ارتقا دهید\&. .RE .PP core\&.fsmonitorHookVersion .RS 4 نسخه پروتکل مورد استفاده هنگام فراخوانی هوک "fsmonitor" را تعیین می‌کند\&. .sp در حال حاضر نسخه‌های 1 و 2 وجود دارند\&. هنگامی که این تنظیم نشده باشد، ابتدا نسخه 2 امتحان می‌شود و اگر با شکست مواجه شد، نسخه 1 امتحان خواهد شد\&. نسخه 1 از یک برچسب زمانی به عنوان ورودی برای تعیین فایل‌هایی که از آن زمان تغییر کرده‌اند استفاده می‌کند، اما برخی پایشگرها مانند Watchman در صورت استفاده با برچسب زمانی دچار شرایط رقابتی (race conditions) می‌شوند\&. نسخه 2 از یک رشته مات (opaque string) استفاده می‌کند تا پایشگر بتواند چیزی را بازگرداند که بتوان از آن برای تعیین فایل‌های تغییریافته بدون شرایط رقابتی استفاده کرد\&. .RE .PP core\&.trustctime .RS 4 اگر false باشد، تفاوت‌های ctime بین ایندکس و درخت کاری نادیده گرفته می‌شوند؛ زمانی مفید است که زمان تغییر inode مرتباً توسط چیزی خارج از Git (خزنده‌های سیستم فایل و برخی سیستم‌های پشتیبان‌گیری) تغییر داده می‌شود\&. به \fBgit-update-index\fR(1) مراجعه کنید\&. به‌طور پیش‌فرض true است\&. .RE .PP core\&.splitIndex .RS 4 اگر true باشد، از ویژگی split\-index در ایندکس استفاده خواهد شد\&. به \fBgit-update-index\fR(1) مراجعه کنید\&. به‌طور پیش‌فرض false است\&. .RE .PP core\&.untrackedCache .RS 4 تعیین می‌کند که با ویژگی حافظه موقت ردیابی‌نشده در ایندکس چه رفتاری شود\&. اگر این متغیر تنظیم نشده باشد یا روی \fBkeep\fR تنظیم گردد، حفظ خواهد شد\&. اگر روی \fBtrue\fR تنظیم شود، به‌طور خودکار اضافه خواهد شد\&. و اگر روی \fBfalse\fR تنظیم شود، به‌طور خودکار حذف خواهد شد\&. پیش از تنظیم آن روی \fBtrue\fR، باید بررسی کنید که mtime در سیستم شما به درستی کار می‌کند\&. به \fBgit-update-index\fR(1) مراجعه کنید\&. به‌طور پیش‌فرض \fBkeep\fR است، مگر اینکه \fBfeature\&.manyFiles\fR فعال باشد که این تنظیم را به‌طور پیش‌فرض روی \fBtrue\fR قرار می‌دهد\&. .RE .PP core\&.checkStat .RS 4 هنگامی که وجود نداشته باشد یا روی \fBdefault\fR تنظیم شده باشد، بسیاری از فیلدهای ساختار stat بررسی می‌شوند تا مشخص شود آیا فایلی از زمان بررسی توسط Git تغییر کرده است یا خیر\&. هنگامی که این متغیر پیکربندی روی \fBminimal\fR تنظیم شود، بخش زیرثانیه‌ای mtime و ctime، شناسه‌های uid و gid مالک فایل، شماره inode (و شماره دستگاه، در صورتی که Git طوری کامپایل شده باشد که از آن استفاده کند)، از میان این فیلدها از بررسی مستثنی می‌شوند، و تنها بخش ثانیه کامل mtime (و ctime، در صورتی که \fBcore\&.trustCtime\fR تنظیم شده باشد) و اندازه فایل برای بررسی باقی می‌مانند\&. .sp پیاده‌سازی‌هایی از Git وجود دارند که مقادیر قابل استفاده‌ای در برخی فیلدها باقی نمی‌گذارند (مانند JGit)؛ با مستثنی کردن این فیلدها از مقایسه، حالت \fBminimal\fR ممکن است به سازگاری متقابل هنگام استفاده همزمان از همان مخزن توسط این سیستم‌های دیگر کمک کند\&. .RE .PP core\&.quotePath .RS 4 دستوراتی که مسیرها را در خروجی نمایش می‌دهند (مانند \fIls\-files\fR، \fIdiff\fR)، نویسه‌های «غیرعادی» را در نام مسیر با قرار دادن مسیر در گیومه دوتایی (double-quotes) و اسکیپ کردن آن نویسه‌ها با بک‌اسلش به همان روشی که C نویسه‌های کنترلی را اسکیپ می‌کند (مانند \fB\et\fR برای TAB، \fB\en\fR برای LF، \fB\e\e\fR برای بک‌اسلش) یا بایت‌هایی با مقادیر بزرگتر از 0x80 (مانند هشت‌هشتی \fB\e302\e265\fR برای "micro" در UTF\-8) نقل‌قول می‌کنند\&. اگر این متغیر روی false تنظیم شود، بایت‌های بالاتر از 0x80 دیگر «غیرعادی» در نظر گرفته نمی‌شوند\&. گیومه‌ها، بک‌اسلش و نویسه‌های کنترلی صرف‌نظر از مقدار این متغیر همیشه اسکیپ می‌شوند\&. نویسه فاصله ساده «غیرعادی» تلقی نمی‌شود\&. بسیاری از دستورات می‌توانند با استفاده از گزینه \fB\-z\fR نام مسیرها را کاملاً دست‌نخورده در خروجی نمایش دهند\&. مقدار پیش‌فرض true است\&. .RE .PP core\&.eol .RS 4 نوع پایان خط را برای استفاده در درخت کاری جهت فایل‌هایی که به عنوان متن علامت‌گذاری شده‌اند (خواه از طریق تنظیم بودن صفت \fBtext\fR، یا داشتن \fBtext=auto\fR و تشخیص خودکار محتویات به عنوان متن توسط Git) مشخص می‌کند\&. گزینه‌ها عبارتند از \fIlf\fR، \fIcrlf\fR و \fInative\fR، که از پایان خط بومی پلتفرم استفاده می‌کند\&. مقدار پیش‌فرض \fBnative\fR است\&. برای اطلاعات بیشتر درباره تبدیل پایان خط به \fBgitattributes\fR(5) مراجعه کنید\&. توجه داشته باشید که اگر \fBcore\&.autocrlf\fR روی \fBtrue\fR یا \fBinput\fR تنظیم شده باشد، این مقدار نادیده گرفته می‌شود\&. .RE .PP core\&.safecrlf .RS 4 اگر true باشد، Git بررسی می‌کند که آیا تبدیل \fBCRLF\fR هنگام فعال بودن تبدیل پایان خط برگشت‌پذیر است یا خیر\&. Git بررسی خواهد کرد که آیا دستوری، فایلی را در درخت کاری چه به طور مستقیم و چه غیرمستقیم تغییر می‌دهد یا خیر\&. برای مثال، کامیت کردن یک فایل و سپس چک‌اوت کردن همان فایل باید همان فایل اصلی را در درخت کاری ایجاد کند\&. اگر برای تنظیم فعلی \fBcore\&.autocrlf\fR چنین نباشد، Git فایل را رد خواهد کرد\&. متغیر می‌تواند روی "warn" تنظیم شود، که در این حالت Git تنها درباره تبدیل برگشت‌ناپذیر هشدار می‌دهد اما عملیات را ادامه خواهد داد\&. .sp تبدیل CRLF خطر اندکی برای خراب کردن داده‌ها به همراه دارد\&. هنگامی که فعال است، Git در حین کامیت CRLF را به LF و در حین چک‌اوت LF را به CRLF تبدیل می‌کند\&. فایلی که قبل از کامیت حاوی ترکیبی از LF و CRLF باشد، توسط Git قابل بازسازی نیست\&. برای فایل‌های متنی این کار مناسبی است: پایان خطوط را اصلاح می‌کند تا تنها پایان خطوط LF در مخزن داشته باشیم\&. اما برای فایل‌های باینری که تصادفاً به عنوان متن طبقه‌بندی شده‌اند، تبدیل می‌تواند داده‌ها را تخریب کند\&. .sp اگر چنین خرابی را زود تشخیص دهید، می‌توانید به سادگی با تعیین نوع تبدیل به طور صریح در \&.gitattributes آن را برطرف کنید\&. درست پس از کامیت کردن، هنوز فایل اصلی را در درخت کاری خود دارید و این فایل هنوز آسیب ندیده است\&. می‌توانید صریحاً به Git بگویید که این فایل باینری است و Git به درستی با فایل رفتار خواهد کرد\&. .sp متأسفانه، اثر مطلوب پاکسازی فایل‌های متنی با پایان خطوط مختلط و اثر نامطلوب تخریب فایل‌های باینری از یکدیگر قابل تمایز نیستند\&. در هر دو حالت CRLFها به روشی برگشت‌ناپذیر حذف می‌شوند\&. برای فایل‌های متنی این کار صحیحی است زیرا CRLFها پایان خط هستند، در حالی که برای فایل‌های باینری تبدیل CRLF موجب تخریب داده‌ها می‌شود\&. .sp توجه داشته باشید، این بررسی ایمنی بدان معنا نیست که یک چک‌اوت فایلی همسان با فایل اصلی برای یک تنظیم متفاوت از \fBcore\&.eol\fR و \fBcore\&.autocrlf\fR تولید کند، بلکه تنها برای تنظیم فعلی صادق است\&. برای مثال، یک فایل متنی با \fBLF\fR تحت \fBcore\&.eol=lf\fR پذیرفته می‌شود و ممکن است بعداً با \fBcore\&.eol=crlf\fR چک‌اوت شود، که در این صورت فایل حاصل شامل \fBCRLF\fR خواهد بود، هرچند فایل اصلی شامل \fBLF\fR بوده است\&. با این حال، در هر دو درخت کاری پایان خطوط یکدست خواهد بود؛ یعنی یا همگی \fBLF\fR یا همگی \fBCRLF\fR، اما هرگز ترکیبی نخواهد بود\&. فایلی با پایان خطوط مختلط توسط سازوکار \fBcore\&.safecrlf\fR گزارش خواهد شد\&. .RE .PP core\&.autocrlf .RS 4 تنظیم این متغیر روی "true" همانند تنظیم صفت \fBtext\fR روی "auto" برای تمام فایل‌ها و تنظیم core\&.eol روی "crlf" است\&. اگر می‌خواهید پایان خطوط \fBCRLF\fR را در دایرکتوری کاری خود داشته باشید در حالی که مخزن دارای پایان خطوط LF است، آن را روی true تنظیم کنید\&. این متغیر می‌تواند روی \fIinput\fR تنظیم شود، که در این حالت هیچ تبدیلی در خروجی صورت نمی‌پذیرد\&. .RE .PP core\&.checkRoundtripEncoding .RS 4 فهرستی از رمزگذاری‌ها که با کاما یا نویسه فاصله از هم جدا شده‌اند و در صورتی که در صفت \fBworking\-tree\-encoding\fR استفاده شوند (به \fBgitattributes\fR(5) مراجعه کنید)، Git بررسی رفت‌وبرگشت به UTF\-8 را روی آن‌ها انجام می‌دهد\&. مقدار پیش‌فرض \fBSHIFT\-JIS\fR است\&. .RE .PP core\&.symlinks .RS 4 اگر false باشد، پیوندهای نمادین به صورت فایل‌های متنی ساده و کوچکی که شامل متن پیوند هستند چک‌اوت می‌شوند\&. دستورات \fBgit-update-index\fR(1) و \fBgit-add\fR(1) نوع ثبت‌شده را به فایل معمولی تغییر نخواهند داد\&. در سیستم‌های فایلی مانند FAT که از پیوندهای نمادین پشتیبانی نمی‌کنند مفید است\&. .sp مقدار پیش‌فرض true است، به جز اینکه \fBgit-clone\fR(1) یا \fBgit-init\fR(1) هنگام ایجاد مخزن، وضعیت را بررسی کرده و در صورت لزوم core\&.symlinks را روی false تنظیم می‌کنند\&. .RE .PP core\&.gitProxy .RS 4 یک «دستور پروکسی» برای اجرا (به صورت \fIcommand host port\fR) به جای برقراری ارتباط مستقیم با سرور ریموت هنگام استفاده از پروتکل Git برای واکشی (fetch)\&. اگر مقدار متغیر در قالب "COMMAND for DOMAIN" باشد، دستور تنها روی نام‌های میزبانی اعمال می‌شود که به رشته دامنه مشخص‌شده ختم می‌شوند\&. این متغیر ممکن است چندین بار تنظیم شود و به ترتیب داده‌شده تطبیق داده می‌شود؛ اولین تطابق برنده است\&. .sp می‌تواند توسط متغیر محیطی \fBGIT_PROXY_COMMAND\fR (که همیشه به طور سراسری و بدون رفتار خاص "for" اعمال می‌شود) بازنویسی شود\&. .sp رشته خاص \fBnone\fR می‌تواند به عنوان دستور پروکسی برای مشخص کردن اینکه هیچ پروکسی برای یک الگوی دامنه معین استفاده نشود، به کار رود\&. این قابلیت برای مستثنی کردن سرورهای درون فایروال از استفاده از پروکسی مفید است، در حالی که به طور پیش‌فرض از یک پروکسی مشترک برای دامنه‌های خارجی استفاده می‌شود\&. .RE .PP core\&.sshCommand .RS 4 اگر این متغیر تنظیم شود، \fBgit\fR \fBfetch\fR و \fBgit\fR \fBpush\fR هنگامی که نیاز به اتصال به یک سیستم ریموت دارند، از دستور مشخص‌شده به جای \fBssh\fR استفاده خواهند کرد\&. این دستور در همان قالب متغیر محیطی \fBGIT_SSH_COMMAND\fR است و هنگام تنظیم بودن آن متغیر محیطی، اولویت با متغیر محیطی خواهد بود\&. .RE .PP core\&.ignoreStat .RS 4 اگر true باشد، Git با تنظیم بیت "assume\-unchanged" برای آن دسته از فایل‌های ردیابی‌شده‌ای که آن‌ها را به طور یکسان در هر دو بخش ایندکس و درخت کاری به‌روزرسانی کرده است، از فراخوانی‌های lstat() برای تشخیص اینکه آیا فایل‌ها تغییر کرده‌اند خودداری می‌کند\&. .sp هنگامی که فایل‌ها خارج از Git تغییر می‌یابند، کاربر باید فایل‌های تغییریافته را صریحاً استیج کند (مثلاً به بخش \fIExamples\fR در \fBgit-update-index\fR(1) مراجعه کنید)\&. Git معمولاً تغییرات این فایل‌ها را تشخیص نخواهد داد\&. .sp این امر در سیستم‌هایی که فراخوانی‌های lstat() در آن‌ها بسیار کند است، مانند CIFS/Microsoft Windows مفید است\&. .sp به‌طور پیش‌فرض false است\&. .RE .PP core\&.preferSymlinkRefs .RS 4 به جای قالب پیش‌فرض "symref" برای HEAD و سایر فایل‌های ارجاع نمادین، از پیوندهای نمادین استفاده می‌کند\&. این قابلیت گاهی برای کار با اسکریپت‌های قدیمی که انتظار دارند HEAD یک پیوند نمادین باشد مورد نیاز است\&. .sp این پیکربندی منسوخ شده است و در Git 3\&.0 حذف خواهد شد\&. ارجاع‌های نمادین همواره به صورت symref متنی نوشته خواهند شد\&. .RE .PP core\&.alternateRefsCommand .RS 4 هنگام اعلان نوک‌های تاریخچه در دسترس از یک منبع جایگزین (alternate)، به جای \fBgit-for-each-ref\fR(1) از پوسته برای اجرای دستور مشخص‌شده استفاده می‌کند\&. نخستین آرگومان مسیر مطلق منبع جایگزین است\&. خروجی باید شامل یک شناسه شیء هگزادسیمال در هر خط باشد (یعنی مشابه آنچه توسط \fBgit\fR \fBfor\-each\-ref\fR \fB\-\-format=\fR\*(Aq%(\fBobjectname\fR)\*(Aq تولید می‌شود)\&. .sp توجه داشته باشید که عموماً نمی‌توانید \fBgit\fR \fBfor\-each\-ref\fR را مستقیماً در مقدار پیکربندی قرار دهید، زیرا مسیر مخزن را به عنوان آرگومان نمی‌پذیرد (اما می‌توانید دستور بالا را در یک اسکریپت شل کپسوله‌سازی کنید)\&. .RE .PP core\&.alternateRefsPrefixes .RS 4 هنگام فهرست کردن ارجاع‌ها از یک منبع جایگزین، تنها ارجاع‌هایی را فهرست کن که با پیشوند داده‌شده شروع می‌شوند\&. پیشوندها همان‌گونه تطبیق داده می‌شوند که گویی به عنوان آرگومان به \fBgit-for-each-ref\fR(1) داده شده‌اند\&. برای فهرست کردن چندین پیشوند، آن‌ها را با فاصله جدا کنید\&. اگر \fBcore\&.alternateRefsCommand\fR تنظیم شده باشد، تنظیم \fBcore\&.alternateRefsPrefixes\fR هیچ اثری ندارد\&. .RE .PP core\&.bare .RS 4 اگر true باشد، این مخزن به صورت \fIbare\fR (مخزن فاقد درخت کاری) فرض می‌شود و هیچ دایرکتوری کاری مرتبط با آن وجود ندارد\&. در این حالت تعدادی از دستوراتی که به دایرکتوری کاری نیاز دارند غیرفعال خواهند شد، مانند \fBgit-add\fR(1) یا \fBgit-merge\fR(1)\&. .sp این تنظیم به‌طور خودکار توسط \fBgit-clone\fR(1) یا \fBgit-init\fR(1) هنگام ایجاد مخزن حدس زده می‌شود\&. به‌طور پیش‌فرض مخزنی که به "/\&.git" ختم می‌شود غیر bare فرض می‌شود (bare = false)، در حالی که سایر مخازن به صورت bare فرض می‌شوند (bare = true)\&. .RE .PP core\&.worktree .RS 4 مسیر ریشه درخت کاری را تنظیم می‌کند\&. اگر متغیر محیطی \fBGIT_COMMON_DIR\fR تنظیم شده باشد، core\&.worktree نادیده گرفته شده و برای تعیین ریشه درخت کاری استفاده نخواهد شد\&. این مقدار می‌تواند توسط متغیر محیطی \fBGIT_WORK_TREE\fR و گزینه خط فرمان \fB\-\-work\-tree\fR لغو شود\&. مقدار می‌تواند یک مسیر مطلق یا نسبی نسبت به مسیر پوشه \&.git باشد، که یا توسط \-\-git\-dir یا GIT_DIR مشخص شده، یا به‌طور خودکار شناسایی شده است\&. اگر \-\-git\-dir یا GIT_DIR مشخص شده باشد اما هیچ‌کدام از گزینه‌های \-\-work\-tree، GIT_WORK_TREE و core\&.worktree مشخص نشده باشند، دایرکتوری کاری فعلی به عنوان بالاترین سطح درخت کاری شما در نظر گرفته می‌شود\&. .sp توجه داشته باشید که این متغیر حتی زمانی که در یک فایل پیکربندی در یک زیرپوشه "\&.git" از یک پوشه تنظیم شده باشد و مقدار آن با پوشه اخیر متفاوت باشد (مثلاً "/path/to/\&.git/config" مقدار core\&.worktree را روی "/different/path" تنظیم کرده باشد) رعایت می‌شود، که به احتمال زیاد یک پیکربندی نادرست است\&. اجرای دستورات Git در پوشه "/path/to" همچنان از "/different/path" به عنوان ریشه درخت کاری استفاده خواهد کرد و می‌تواند باعث سردرگمی شود مگر اینکه بدانید چه می‌کنید (مثلاً در حال ایجاد یک تصویر لحظه‌ای فقط‌خواندنی از همان ایندکس در مکانی متفاوت از درخت کاری معمول مخزن هستید)\&. .RE .PP core\&.lockfilePid .RS 4 اگر true باشد، Git یک فایل PID در کنار فایل‌های قفل ایجاد می‌کند\&. هنگامی که گرفتن قفل با شکست مواجه شود و یک فایل PID وجود داشته باشد، Git می‌تواند اطلاعات تشخیصی بیشتری درباره فرآیندی که قفل را در اختیار دارد ارائه دهد، از جمله اینکه آیا هنوز در حال اجرا است یا خیر\&. به‌طور پیش‌فرض \fBfalse\fR است\&. .sp فایل PID با درج \fB~pid\fR قبل از پسوند \fB\&.lock\fR نام‌گذاری می‌شود\&. برای مثال، اگر فایل قفل \fBindex\&.lock\fR باشد، فایل PID با نام \fBindex~pid\&.lock\fR خواهد بود\&. این فایل شامل یک خط به قالب \fBpid\fR \fI\fR به همراه یک سطر تازه است\&. .RE .PP core\&.logAllRefUpdates .RS 4 فعال‌سازی reflog\&. به‌روزرسانی‌های یک ارجاع با الحاق کردن SHA\-1 جدید و قدیم، تاریخ/زمان و دلیل به‌روزرسانی در فایل "\fB$GIT_DIR/logs/\fR\fI\fR" ثبت می‌شوند، اما تنها در صورتی که فایل وجود داشته باشد\&. اگر این متغیر پیکربندی روی \fBtrue\fR تنظیم شده باشد، فایل مفقود "\fB$GIT_DIR/logs/\fR\fI\fR" به‌طور خودکار برای نوک شاخه‌ها (یعنی زیر \fBrefs/heads/\fR)، ارجاع‌های ریموت (یعنی زیر \fBrefs/remotes/\fR)، ارجاع‌های یادداشت (یعنی زیر \fBrefs/notes/\fR) و ارجاع نمادین \fBHEAD\fR ایجاد می‌شود\&. اگر روی \fBalways\fR تنظیم شود، یک reflog مفقود به‌طور خودکار برای هر ارجاعی زیر \fBrefs/\fR ایجاد خواهد شد\&. .sp این اطلاعات می‌تواند برای تعیین اینکه چه کامیتی نوک یک شاخه در "2 روز پیش" بوده است استفاده شود\&. .sp این مقدار به‌طور پیش‌فرض در مخزنی که دارای درخت کاری مرتبط باشد true، و به‌طور پیش‌فرض در یک مخزن bare برابر false است\&. .RE .PP core\&.repositoryFormatVersion .RS 4 متغیر داخلی برای شناسایی قالب مخزن و نسخه چیدمان\&. به \fBgitrepository-layout\fR(5) مراجعه کنید\&. .RE .PP core\&.sharedRepository .RS 4 هنگامی که روی \fIgroup\fR (یا \fItrue\fR) تنظیم شود، مخزن میان چندین کاربر در یک گروه قابل اشتراک‌گذاری می‌شود (با اطمینان از اینکه تمامی فایل‌ها و اشیاء توسط گروه قابل نوشتن باشند)\&. هنگامی که روی \fIall\fR (یا \fIworld\fR یا \fIeverybody\fR) تنظیم شود، مخزن علاوه بر اشتراک‌گذاری گروهی، برای همه کاربران قابل خواندن خواهد بود\&. هنگامی که روی \fIumask\fR (یا \fIfalse\fR) تنظیم شود، Git از دسترسی‌های گزارش‌شده توسط umask(2) استفاده خواهد کرد\&. هنگامی که روی \fI0xxx\fR تنظیم شود، که در آن \fI0xxx\fR یک عدد هشت‌هشتی (octal) است، فایل‌های درون مخزن دارای این مقدار حالت (mode) دسترسی خواهند بود\&. \fI0xxx\fR مقدار umask کاربر را بازنویسی خواهد کرد (در حالی که گزینه‌های دیگر تنها بخش‌های مورد درخواست از مقدار umask کاربر را بازنویسی می‌کنند)\&. مثال‌ها: \fI0660\fR مخزن را برای مالک و گروه قابل خواندن/نوشتن می‌کند، اما برای دیگران غیرقابل دسترس می‌سازد (معادل \fIgroup\fR مگر اینکه umask برای نمونه \fI0022\fR باشد)\&. \fI0640\fR مخزنی است که برای گروه قابل خواندن است اما برای گروه قابل نوشتن نیست\&. به \fBgit-init\fR(1) مراجعه کنید\&. به طور پیش‌فرض False است\&. .RE .PP core\&.warnAmbiguousRefs .RS 4 اگر روی true تنظیم شود، چنانچه نام ref ارسالی شما مبهم باشد و ممکن باشد با چندین ref در مخزن مطابقت داشته باشد، Git به شما هشدار خواهد داد\&. به طور پیش‌فرض True است\&. .RE .PP core\&.compression .RS 4 یک عدد صحیح بین \-1 تا 9 که سطح فشرده‌سازی پیش‌فرض را مشخص می‌کند\&. مقدار \-1 پیش‌فرض zlib است\&. مقدار 0 به معنای عدم فشرده‌سازی است، و 1 تا 9 موازنه‌های مختلف میان سرعت/اندازه هستند که 9 کندترین آن‌هاست\&. در صورت تنظیم، این متغیر مقداری پیش‌فرض را برای سایر متغیرهای فشرده‌سازی فراهم می‌کند، مانند \fBcore\&.looseCompression\fR و \fBpack\&.compression\fR\&. .RE .PP core\&.looseCompression .RS 4 یک عدد صحیح بین \-1 تا 9 که سطح فشرده‌سازی را برای اشیائی که در یک pack file قرار ندارند مشخص می‌کند\&. مقدار \-1 پیش‌فرض zlib است\&. مقدار 0 به معنای عدم فشرده‌سازی است، و 1 تا 9 موازنه‌های مختلف میان سرعت/اندازه هستند که 9 کندترین آن‌هاست\&. اگر تنظیم نشود، به طور پیش‌فرض مقدار core\&.compression در نظر گرفته می‌شود\&. اگر آن هم تنظیم نشده باشد، به طور پیش‌فرض 1 (بهترین سرعت) خواهد بود\&. .RE .PP core\&.packedGitWindowSize .RS 4 تعداد بایت‌های یک pack file برای نگاشت (map) در حافظه در یک عملیات نگاشت منفرد\&. اندازه‌های بزرگ‌تر پنجره ممکن است به سیستم شما اجازه دهند تعداد کمتری از pack fileهای بزرگ را سریع‌تر پردازش کند\&. اندازه‌های کوچک‌تر پنجره به دلیل افزایش فراخوانی‌ها به مدیر حافظه سیستم‌عامل، بر کارایی تأثیر منفی خواهند گذاشت، اما ممکن است هنگام دسترسی به تعداد زیادی از pack fileهای بزرگ کارایی را بهبود بخشند\&. .sp اگر NO_MMAP در زمان کامپایل تنظیم شده باشد مقدار پیش‌فرض 1 MiB است، در غیر این صورت روی پلتفرم‌های 32 بیتی 32 MiB و روی پلتفرم‌های 64 بیتی 1 GiB است\&. این مقدار باید برای همه کاربران/سیستم‌های عامل منطقی باشد\&. احتمالاً نیازی به تغییر این مقدار ندارید\&. .sp پسوندهای واحد متداول شامل \fIk\fR، \fIm\fR، یا \fIg\fR پشتیبانی می‌شوند\&. .RE .PP core\&.packedGitLimit .RS 4 حداکثر تعداد بایت‌ها برای نگاشت همزمان از pack fileها به حافظه\&. اگر Git برای تکمیل یک عملیات نیاز به دسترسی همزمان به بیش از این مقدار بایت داشته باشد، نواحی موجود را از حالت نگاشت خارج می‌کند (unmap) تا فضای آدرس مجازی را درون فرآیند بازپس گیرد\&. .sp پیش‌فرض روی پلتفرم‌های 32 بیتی 256 MiB و روی پلتفرم‌های 64 بیتی 32 TiB (در عمل نامحدود) است\&. این مقدار باید برای همه کاربران/سیستم‌های عامل به جز در بزرگ‌ترین پروژه‌ها معقول باشد\&. احتمالاً نیازی به تغییر این مقدار ندارید\&. .sp پسوندهای واحد متداول شامل \fIk\fR، \fIm\fR، یا \fIg\fR پشتیبانی می‌شوند\&. .RE .PP core\&.deltaBaseCacheLimit .RS 4 حداکثر تعداد بایت به ازای هر ریسه (thread) برای رزرو جهت کش کردن اشیاء پایه که ممکن است توسط چندین شیء دلتایی (deltified) مورد ارجاع قرار گیرند\&. با ذخیره کامل اشیاء پایه از حالت فشرده خارج‌شده در یک کش، Git قادر است از باز کردن و از حالت فشرده خارج کردن چندباره اشیاء پایه پرکاربرد جلوگیری کند\&. .sp پیش‌فرض روی تمامی پلتفرم‌ها 96 MiB است\&. این مقدار باید برای همه کاربران/سیستم‌های عامل به جز در بزرگ‌ترین پروژه‌ها معقول باشد\&. احتمالاً نیازی به تغییر این مقدار ندارید\&. .sp پسوندهای واحد متداول شامل \fIk\fR، \fIm\fR، یا \fIg\fR پشتیبانی می‌شوند\&. .RE .PP core\&.bigFileThreshold .RS 4 اندازه فایل‌هایی که "بزرگ" در نظر گرفته می‌شوند، که همان‌طور که در ادامه توضیح داده شده رفتار دستورات متعدد گیت و همچنین نحوه ذخیره‌سازی چنین فایل‌هایی را در مخزن تغییر می‌دهد\&. مقدار پیش‌فرض 512 MiB است\&. پسوندهای واحد متداول شامل \fIk\fR، \fIm\fR، یا \fIg\fR پشتیبانی می‌شوند\&. .sp فایل‌های بالاتر از حد پیکربندی‌شده: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} به صورت فشرده‌شده (deflated) در packfileها بدون تلاش برای فشرده‌سازی دلتا ذخیره می‌شوند\&. .sp حد پیش‌فرض اساساً با در نظر گرفتن این کاربرد تنظیم شده است\&. با این تنظیم، در اکثر پروژه‌ها کد منبع و سایر فایل‌های متنی تحت فشرده‌سازی دلتا قرار می‌گیرند، اما فایل‌های چندرسانه‌ای باینری بزرگ‌تر شامل آن نمی‌شوند\&. .sp ذخیره‌سازی فایل‌های بزرگ بدون فشرده‌سازی دلتا از مصرف بیش از حد حافظه جلوگیری می‌کند، هرچند با هزینه اندک افزایش مصرف دیسک همراه است\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} طوری رفتار خواهد شد که گویی برچسب "binary" دارند (به \fBgitattributes\fR(5) مراجعه کنید)\&. برای نمونه \fBgit-log\fR(1) و \fBgit-diff\fR(1) برای فایل‌های بالاتر از این حد، دیف محاسبه نخواهند کرد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} عموماً هنگام نوشتن به صورت جریانی (streamed) منتقل می‌شوند، که از مصرف بیش از حد حافظه با هزینه مقداری سربار ثابت جلوگیری می‌کند\&. دستوراتی که از این قابلیت استفاده می‌کنند شامل \fBgit-archive\fR(1)، \fBgit-fast-import\fR(1)، \fBgit-index-pack\fR(1)، \fBgit-unpack-objects\fR(1) و \fBgit-fsck\fR(1) هستند\&. .RE .RE .PP core\&.excludesFile .RS 4 مسیر فایلی را مشخص می‌کند که علاوه بر \fB\&.gitignore\fR (به ازای هر دایرکتوری) و \fB\&.git/info/exclude\fR، حاوی الگوهایی برای توصیف مسیرهایی است که نباید ردگیری شوند\&. مقدار پیش‌فرض آن \fB$XDG_CONFIG_HOME/git/ignore\fR است\&. اگر \fB$XDG_CONFIG_HOME\fR تنظیم نشده یا خالی باشد، \fB$HOME/\&.config/git/ignore\fR به جای آن استفاده می‌شود\&. به \fBgitignore\fR(5) مراجعه کنید\&. .RE .PP core\&.askPass .RS 4 به برخی از دستورات (مانند رابط‌های svn و http) که به صورت تعاملی گذرواژه درخواست می‌کنند می‌توان اعلام کرد از یک برنامه خارجی که از طریق مقدار این متغیر مشخص شده است استفاده کنند\&. این مقدار می‌تواند توسط متغیر محیطی \fBGIT_ASKPASS\fR بازنویسی شود\&. در صورت عدم تنظیم، به مقدار متغیر محیطی \fBSSH_ASKPASS\fR یا در صورت نبود آن، به یک اعلان ساده گذرواژه برمی‌گردد\&. به برنامه خارجی باید یک اعلان مناسب به عنوان آرگومان خط فرمان داده شود و گذرواژه را در STDOUT خود بنویسد\&. .RE .PP core\&.attributesFile .RS 4 مسیر فایلی را مشخص می‌کند که علاوه بر \fB\&.gitattributes\fR (به ازای هر دایرکتوری) و \fB\&.git/info/attributes\fR، حاوی مشخصه‌ها (attributes) است (به \fBgitattributes\fR(5) مراجعه کنید)\&. مقدار پیش‌فرض آن \fB$XDG_CONFIG_HOME/git/attributes\fR است\&. اگر \fB$XDG_CONFIG_HOME\fR تنظیم نشده یا خالی باشد، \fB$HOME/\&.config/git/attributes\fR به جای آن استفاده می‌شود\&. .RE .PP core\&.hooksPath .RS 4 به طور پیش‌فرض، Git قلاب‌های شما را در دایرکتوری \fB$GIT_DIR/hooks\fR جستجو می‌کند\&. این متغیر را روی مسیر متفاوتی تنظیم کنید، برای نمونه \fB/etc/git/hooks\fR، و Git تلاش خواهد کرد قلاب‌های شما را در آن دایرکتوری پیدا کند، برای نمونه \fB/etc/git/hooks/pre\-receive\fR به جای \fB$GIT_DIR/hooks/pre\-receive\fR\&. .sp مسیر می‌تواند مطلق یا نسبی باشد\&. یک مسیر نسبی، نسبت به دایرکتوری که قلاب‌ها در آن اجرا می‌شوند در نظر گرفته می‌شود (به بخش "DESCRIPTION" در \fBgithooks\fR(5) مراجعه کنید)\&. .sp این متغیر پیکربندی در مواردی مفید است که مایلید قلاب‌های گیت خود را به جای پیکربندی به ازای هر مخزن، به صورت متمرکز پیکربندی کنید، یا به عنوان جایگزینی منعطف‌تر و متمرکزتر برای داشتن یک \fBinit\&.templateDir\fR که در آن قلاب‌های پیش‌فرض را تغییر داده‌اید\&. .sp همچنین می‌توانید تمام قلاب‌ها را با تنظیم \fBcore\&.hooksPath\fR روی \fB/dev/null\fR به طور کامل غیرفعال کنید\&. این کار معمولاً تنها برای کاربران حرفه‌ای و به صورت به ازای هر دستور با استفاده از پارامترهای پیکربندی به فرم \fBgit\fR \fB\-c\fR \fBcore\&.hooksPath=/dev/null\fR \&.\&.\&.\&. توصیه می‌شود\&. .RE .PP core\&.editor .RS 4 دستوراتی مانند \fBcommit\fR و \fBtag\fR که به شما امکان می‌دهند با اجرای یک ویرایشگر پیام‌ها را ویرایش کنید، در صورتی که این متغیر تنظیم شده باشد و متغیر محیطی \fBGIT_EDITOR\fR تنظیم نشده باشد، از مقدار این متغیر استفاده می‌کنند\&. به \fBgit-var\fR(1) مراجعه کنید\&. .RE .PP core\&.commentChar, core\&.commentString .RS 4 دستوراتی مانند \fBcommit\fR و \fBtag\fR که به شما امکان ویرایش پیام‌ها را می‌دهند، خطی را که با این نویسه آغاز شود به عنوان کامنت در نظر گرفته و پس از بسته شدن ویرایشگر آن‌ها را حذف می‌کنند (پیش‌فرض \fI#\fR)\&. .sp اگر روی "auto" تنظیم شود، \fBgit\-commit\fR نویسه‌ای را انتخاب خواهد کرد که نویسه ابتدایی هیچ‌یک از خطوط در پیام‌های کامیت موجود نباشد\&. پشتیبانی از این مقدار منسوخ شده است و در Git 3\&.0 به دلیل محدودیت‌های زیر حذف خواهد شد: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} با افزودن کامنت‌ها در یک الگوی پیام کامیت ناسازگار است\&. این شامل کامنت‌های تعارض که توسط \fBcherry\-pick\fR، \fBmerge\fR، \fBrebase\fR و \fBrevert\fR به پیام کامیت اضافه می‌شوند نیز می‌شود\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} با افزودن کامنت‌ها به پیام کامیت در قلاب \fBprepare\-commit\-msg\fR ناسازگار است\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} هنگام rebase کردن با دستورات \fBfixup\fR و \fBsquash\fR ناسازگار است، .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} توسط \fBgit\fR \fBnotes\fR رعایت نمی‌شود .RE .sp توجه داشته باشید که این دو متغیر نام‌های مستعار (alias) یکدیگر هستند، و در نسخه‌های مدرن Git آزادید که از یک رشته (برای نمونه \fB//\fR یا ⁑⁕⁑) با \fBcommentChar\fR استفاده کنید\&. نسخه‌های قبل از v2\&.45\&.0 گیت متغیر \fBcommentString\fR را نادیده می‌گیرند اما مقداری از \fBcommentChar\fR را که شامل بیش از یک بایت اسکی باشد رد می‌کنند\&. اگر قصد دارید از پیکربندی خود هم با نسخه‌های قدیمی‌تر و هم جدیدتر Git استفاده کنید، ممکن است مایل باشید هر دو را مشخص کنید: .sp .if n \{\ .RS 4 .\} .nf [core] # single character for older versions commentChar = "#" # string for newer versions (which will override commentChar # because it comes later in the file) commentString = "//" .fi .if n \{\ .RE .\} .RE .PP core\&.filesRefLockTimeout .RS 4 مدت زمان به میلی‌ثانیه برای تلاش مجدد هنگام تلاش برای قفل کردن یک ارجاع (ref) منفرد\&. مقدار 0 به معنای اصلاً تلاش مجدد نکردن است؛ \-1 به معنای تلاش نامحدود است\&. پیش‌فرض 100 است (یعنی تلاش مجدد برای 100 میلی‌ثانیه)\&. .RE .PP core\&.packedRefsTimeout .RS 4 مدت زمان به میلی‌ثانیه برای تلاش مجدد هنگام تلاش برای قفل کردن فایل \fBpacked\-refs\fR\&. مقدار 0 به معنای اصلاً تلاش مجدد نکردن است؛ \-1 به معنای تلاش نامحدود است\&. پیش‌فرض 1000 است (یعنی تلاش مجدد برای 1 ثانیه)\&. .RE .PP core\&.pager .RS 4 نمایش‌دهنده متن (pager) برای استفاده توسط دستورات گیت (برای نمونه \fIless\fR)\&. این مقدار برای تفسیر شدن توسط شل در نظر گرفته شده است\&. ترتیب اولویت عبارت است از متغیر محیطی \fB$GIT_PAGER\fR، سپس پیکربندی \fBcore\&.pager\fR، سپس \fB$PAGER\fR، و سپس پیش‌فرض انتخاب‌شده در زمان کامپایل (معمولاً \fIless\fR)\&. .sp زمانی که متغیر محیطی \fBLESS\fR تنظیم نشده باشد، Git آن را روی \fBFRX\fR تنظیم می‌کند (اگر متغیر محیطی \fBLESS\fR تنظیم شده باشد، Git اصلاً آن را تغییر نمی‌دهد)\&. اگر می‌خواهید تنظیم پیش‌فرض Git برای \fBLESS\fR را به صورت انتخابی لغو کنید، می‌توانید \fBcore\&.pager\fR را برای نمونه روی \fBless\fR \fB\-S\fR تنظیم کنید\&. این مقدار توسط Git به شل منتقل می‌شود، که دستور نهایی را به \fBLESS=FRX\fR \fBless\fR \fB\-S\fR ترجمه خواهد کرد\&. محیط گزینه \fBS\fR را تنظیم نکرده اما خط فرمان این کار را انجام می‌دهد، که به less دستور می‌دهد خطوط طولانی را کوتاه (truncate) کند\&. به طور مشابه، تنظیم \fBcore\&.pager\fR روی \fBless\fR \fB\-+F\fR گزینه \fBF\fR مشخص‌شده توسط محیط را از طریق خط فرمان غیرفعال می‌کند، که رفتار "خروج در صورت جا شدن در یک صفحه" در \fBless\fR را غیرفعال می‌سازد\&. می‌توان برخی گزینه‌ها را به طور اختصاصی برای دستورات خاصی فعال کرد: برای مثال، تنظیم \fBpager\&.blame\fR روی \fBless\fR \fB\-S\fR کوتاه‌سازی خطوط را تنها برای \fBgit\fR \fBblame\fR فعال می‌سازد\&. .sp به همین شکل، زمانی که متغیر محیطی \fBLV\fR تنظیم نشده باشد، Git آن را روی \fB\-c\fR تنظیم می‌کند\&. می‌توانید این تنظیم را با export کردن \fBLV\fR با مقداری دیگر یا با تنظیم \fBcore\&.pager\fR روی \fBlv\fR \fB+c\fR لغو کنید\&. .RE .PP core\&.whitespace .RS 4 فهرستی جداشده با کاما از مشکلات رایج فاصله خالی (whitespace) برای بررسی و جلب توجه\&. \fIgit diff\fR از \fBcolor\&.diff\&.whitespace\fR برای برجسته‌سازی آن‌ها استفاده می‌کند، و \fIgit apply \-\-whitespace=error\fR آن‌ها را به عنوان خطا در نظر می‌گیرد\&. می‌توانید پیشوند \fB\-\fR را برای غیرفعال کردن هر یک از آن‌ها به کار ببرید (برای نمونه \fB\-trailing\-space\fR): .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBblank\-at\-eol\fR فاصله‌های خالی انتهایی در انتهای خط را به عنوان خطا در نظر می‌گیرد (به طور پیش‌فرض فعال است)\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBspace\-before\-tab\fR نویسه فاصله‌ای را که بلافاصله پیش از یک نویسه تب در بخش تورفتگی اولیه خط ظاهر شود به عنوان خطا در نظر می‌گیرد (به طور پیش‌فرض فعال است)\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBindent\-with\-non\-tab\fR خطی را که به جای تب‌های معادل با نویسه‌های فاصله تورفته شده باشد به عنوان خطا در نظر می‌گیرد (به طور پیش‌فرض فعال نیست)\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBtab\-in\-indent\fR نویسه تب در بخش تورفتگی اولیه خط را به عنوان خطا در نظر می‌گیرد (به طور پیش‌فرض فعال نیست)\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBblank\-at\-eof\fR خطوط خالی اضافه‌شده در انتهای فایل را به عنوان خطا در نظر می‌گیرد (به طور پیش‌فرض فعال است)\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBtrailing\-space\fR شورت‌کدی برای پوشش دادن هر دو مورد \fBblank\-at\-eol\fR و \fBblank\-at\-eof\fR است\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBcr\-at\-eol\fR بازگشت به ابتدای خط (carriage\-return) در انتهای خط را به عنوان بخشی از پایان‌دهنده خط تلقی می‌کند، یعنی با فعال بودن آن، اگر نویسه پیش از چنین carriage\-return یک فاصله خالی نباشد، \fBtrailing\-space\fR فعال نمی‌شود (به طور پیش‌فرض فعال نیست)\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBincomplete\-line\fR آخرین خط فایلی را که فاقد خط جدید (newline) در انتها است به عنوان خطا در نظر می‌گیرد (به طور پیش‌فرض فعال نیست)\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBtabwidth=\fR\fI\fR مشخص می‌کند که یک تب چند موقعیت نویسه را اشغال می‌کند؛ این گزینه برای \fBindent\-with\-non\-tab\fR و زمانی که Git خطاهای \fBtab\-in\-indent\fR را اصلاح می‌کند کاربرد دارد\&. عرض پیش‌فرض تب 8 است\&. مقادیر مجاز از 1 تا 63 می‌باشند\&. .RE .RE .PP core\&.fsync .RS 4 فهرستی جداشده با کاما از مؤلفه‌های مخزن که باید در زمان ایجاد یا تغییر، از طریق core\&.fsyncMethod پایدارسازی (hardened) شوند\&. می‌توانید پایدارسازی هر مؤلفه را با قرار دادن پیشوند \fI\-\fR در ابتدای آن غیرفعال کنید\&. مواردی که پایدارسازی نشده‌اند ممکن است در صورت خاموش شدن غیرعادی سیستم از دست بروند\&. مگر در مواردی که نیازمندی‌های خاصی داشته باشید، توصیه می‌شود این گزینه را خالی بگذارید یا یکی از موارد \fBcommitted\fR، \fBadded\fR، یا \fBall\fR را انتخاب کنید\&. .sp هنگام مواجهه با این پیکربندی، مجموعه مؤلفه‌ها با مقدار پیش‌فرض پلتفرم آغاز می‌شود، مؤلفه‌های غیرفعال حذف می‌شوند، و مؤلفه‌های اضافی افزوده می‌گردند\&. \fBnone\fR وضعیت را بازنشانی می‌کند تا پیش‌فرض پلتفرم نادیده گرفته شود\&. .sp رشته خالی پیکربندی fsync را به پیش‌فرض پلتفرم بازنشانی می‌کند\&. پیش‌فرض در اکثر پلتفرم‌ها معادل \fBcore\&.fsync=committed\fR,\-loose\-object است، که کارایی خوبی دارد، اما در صورت خاموش شدن غیرعادی سیستم، خطر از دست رفتن کارهای اخیر را به همراه دارد\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBnone\fR مجموعه مؤلفه‌های تحت fsync را پاک می‌کند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBloose\-object\fR اشیائی را که در قالب loose\-object به مخزن اضافه شده‌اند پایدارسازی می‌کند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBpack\fR اشیائی را که در قالب packfile به مخزن اضافه شده‌اند پایدارسازی می‌کند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBpack\-metadata\fR بیت‌مپ‌ها و ایندکس‌های packfile را پایدارسازی می‌کند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBcommit\-graph\fR فایل commit\-graph را پایدارسازی می‌کند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBindex\fR ایندکس را هنگام تغییر پایدارسازی می‌کند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBobjects\fR گزینه‌ای تجمیعی است که معادل \fBloose\-object\fR,pack می‌باشد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBreference\fR ارجاع‌های تغییریافته در مخزن را پایدارسازی می‌کند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBderived\-metadata\fR گزینه‌ای تجمیعی است که معادل \fBpack\-metadata\fR,commit\-graph می‌باشد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBcommitted\fR گزینه‌ای تجمیعی است که در حال حاضر معادل \fBobjects\fR است\&. این حالت مقداری از کارایی را فدا می‌کند تا اطمینان حاصل شود کاری که با \fBgit\fR \fBcommit\fR یا دستورات مشابه در مخزن کامیت شده است، پایدارسازی می‌شود\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBadded\fR گزینه‌ای تجمیعی است که در حال حاضر معادل \fBcommitted\fR,index است\&. این حالت کارایی بیشتری را فدا می‌کند تا اطمینان حاصل شود نتایج دستوراتی مانند \fBgit\fR \fBadd\fR و عملیات مشابه پایدارسازی می‌شوند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBall\fR گزینه‌ای تجمیعی است که تمامی مؤلفه‌های منفرد فوق را همگام‌سازی (sync) می‌کند\&. .RE .RE .PP core\&.fsyncMethod .RS 4 مقداری که راهبرد Git را برای پایدارسازی داده‌های مخزن با استفاده از fsync و دستورات اولیه مرتبط مشخص می‌کند\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBfsync\fR از فراخوانی سیستمی fsync() یا معادل‌های آن در پلتفرم استفاده می‌کند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBwriteout\-only\fR درخواست‌های بازنویسی حافظه پنهان صفحه (pagecache writeback) را صادر می‌کند، اما بسته به سیستم فایل و سخت‌افزار ذخیره‌سازی، داده‌های اضافه‌شده به مخزن ممکن است در صورت وقوع خرابی سیستم (crash) پایدار نمانند\&. این حالت پیش‌فرض در macOS است\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBbatch\fR حالتی را فعال می‌کند که از تخلیه‌های فقط بازنویسی (writeout\-only flushes) برای مرحله‌بندی چندین به‌روزرسانی در کش بازنویسی دیسک استفاده می‌کند و سپس یک fsync کامل روی یک فایل ساختگی انجام می‌دهد تا تخلیه کش دیسک را در پایان عملیات فعال سازد\&. .sp در حال حاضر حالت \fBbatch\fR تنها برای فایل‌های loose\-object اعمال می‌شود\&. سایر داده‌های مخزن به گونه‌ای پایدارسازی می‌شوند که گویی \fBfsync\fR مشخص شده است\&. انتظار می‌رود این حالت روی macOS برای مخازن ذخیره‌شده در سیستم‌های فایل HFS+ یا APFS و روی Windows برای مخازن ذخیره‌شده در سیستم‌های فایل NTFS یا ReFS به اندازه \fBfsync\fR امن باشد\&. .RE .RE .PP core\&.fsyncObjectFiles .RS 4 این متغیر بولی \fIfsync()\fR را هنگام نوشتن فایل‌های شیء فعال می‌کند\&. این تنظیم منسوخ شده است\&. به جای آن از core\&.fsync استفاده کنید\&. .sp این تنظیم بر داده‌هایی اثر می‌گذارد که در قالب loose\-object به مخزن گیت اضافه می‌شوند\&. در صورت تنظیم روی true، Git یک فراخوانی سیستمی fsync یا مشابه آن را برای تخلیه کش‌ها صادر می‌کند تا اشیاء مجزا (loose\-objects) در مواجهه با خاموش شدن غیرعادی سیستم سازگار باقی بمانند\&. .RE .PP core\&.preloadIndex .RS 4 پیش‌بارگذاری موازی ایندکس را برای عملیاتی مانند \fIgit diff\fR فعال می‌کند .sp این قابلیت می‌تواند به عملیاتی مانند \fIgit diff\fR و \fIgit status\fR به‌ویژه روی سیستم‌های فایلی مانند NFS که معناشناسی ضعیفی در کش کردن دارند و بنابراین تأخیر ورودی/خروجی (IO) نسبتاً بالایی دارند، سرعت ببخشد\&. در صورت فعال بودن، Git مقایسه ایندکس با داده‌های سیستم فایل را به صورت موازی انجام می‌دهد که امکان همپوشانی عملیات IO را فراهم می‌سازد\&. به طور پیش‌فرض true است\&. .RE .PP core\&.unsetenvvars .RS 4 فقط ویندوز: فهرستی جداشده با کاما از نام‌های متغیرهای محیطی که باید پیش از ایجاد هر فرآیند دیگری لغو (unset) شوند\&. به طور پیش‌فرض روی \fBPERL5LIB\fR تنظیم شده است تا این واقعیت را در نظر بگیرد که Git for Windows بر استفاده از مفسر پرل اختصاصی خود اصرار دارد\&. .RE .PP core\&.createObject .RS 4 می‌توانید این متغیر را روی \fIlink\fR تنظیم کنید، که در این صورت از یک پیوند سخت (hardlink) و به دنبال آن حذف مبدا استفاده می‌شود تا اطمینان حاصل شود که ایجاد شیء، اشیاء موجود را بازنویسی نخواهد کرد\&. .sp در برخی ترکیب‌های سیستم فایل/سیستم‌عامل، این سازوکار غیرقابل اطمینان است\&. در آنجا این تنظیم پیکربندی را روی \fIrename\fR تنظیم کنید؛ با این حال، این کار بررسی اطمینان از بازنویسی نشدن فایل‌های شیء موجود را حذف خواهد کرد\&. .RE .PP core\&.notesRef .RS 4 هنگام نمایش پیام‌های کامیت، یادداشت‌هایی (notes) را که در ref داده‌شده ذخیره شده‌اند نیز نشان می‌دهد\&. این ref باید به طور کامل مشخص باشد (fully qualified)\&. اگر ref داده‌شده وجود نداشته باشد، خطا به شمار نمی‌آید بلکه به این معناست که هیچ یادداشتی نباید چاپ شود\&. .sp این تنظیم به طور پیش‌فرض "refs/notes/commits" است، و می‌تواند توسط متغیر محیطی \fBGIT_NOTES_REF\fR بازنویسی شود\&. به \fBgit-notes\fR(1) مراجعه کنید\&. .RE .PP core\&.commitGraph .RS 4 اگر روی true تنظیم شود، آنگاه git فایل commit\-graph را (در صورت وجود) می‌خواند تا ساختار گراف کامیت‌ها را تجزیه کند\&. به طور پیش‌فرض true است\&. برای اطلاعات بیشتر به \fBgit-commit-graph\fR(1) مراجعه کنید\&. .RE .PP core\&.useReplaceRefs .RS 4 اگر روی \fBfalse\fR تنظیم شود، طوری رفتار می‌کند که گویی گزینه \fB\-\-no\-replace\-objects\fR در خط فرمان داده شده است\&. برای اطلاعات بیشتر به \fBgit\fR(1) و \fBgit-replace\fR(1) مراجعه کنید\&. .RE .PP core\&.multiPackIndex .RS 4 از فایل multi\-pack\-index برای ردگیری چندین packfile با استفاده از یک ایندکس واحد استفاده می‌کند\&. برای اطلاعات بیشتر به \fBgit-multi-pack-index\fR(1) مراجعه کنید\&. به طور پیش‌فرض true است\&. .RE .PP core\&.sparseCheckout .RS 4 قابلیت "sparse checkout" (دریافت گزینشی/تنک) را فعال می‌کند\&. برای اطلاعات بیشتر به \fBgit-sparse-checkout\fR(1) مراجعه کنید\&. .RE .PP core\&.sparseCheckoutCone .RS 4 "حالت مخروطی" (cone mode) قابلیت sparse checkout را فعال می‌کند\&. هنگامی که فایل sparse\-checkout شامل مجموعه‌ای محدود از الگوها باشد، این حالت مزایای عملکردی قابل‌توجهی ارائه می‌دهد\&. می‌توان با تنظیم این متغیر روی \fIfalse\fR "حالت غیرمخروطی" را درخواست کرد تا امکان مشخص کردن الگوهای انعطاف‌پذیرتر فراهم شود\&. برای اطلاعات بیشتر به \fBgit-sparse-checkout\fR(1) مراجعه کنید\&. .RE .PP core\&.abbrev .RS 4 طولی را که نام اشیاء به آن کوتاه می‌شوند تعیین می‌کند\&. اگر مشخص نشود یا روی "auto" تنظیم شود، مقداری مناسب بر اساس تعداد تقریبی اشیاء بسته‌بندی‌شده در مخزن شما محاسبه می‌شود، که امیدواریم کافی باشد تا نام‌های کوتاه اشیاء برای مدتی یکتا باقی بمانند\&. اگر روی "no" تنظیم شود، هیچ اختصاری صورت نمی‌گیرد و نام اشیاء با طول کامل نمایش داده می‌شوند\&. حداقل طول 4 است\&. .RE .PP core\&.maxTreeDepth .RS 4 حداکثر عمقی که Git مایل است هنگام پیمایش یک درخت وارد بازگشت (recurse) شود (برای نمونه، "a/b/cde/f" دارای عمق 4 است)\&. این یک تدبیر ایمنی است تا به Git اجازه دهد به طور پاک متوقف شود، و عموماً نیازی به تغییر آن نیست\&. هنگامی که Git با MSVC کامپایل شده باشد، مقدار پیش‌فرض 512 است\&. در غیر این صورت، مقدار پیش‌فرض 2048 است\&. .RE .PP credential\&.helper .RS 4 یک دستیار کمکی خارجی را برای فراخوانی در زمان نیاز به اطلاعات هویتی (اعتبارنامه) نام کاربری یا گذرواژه مشخص می‌کند؛ دستیار کمکی ممکن است با فضای ذخیره‌سازی خارجی مشورت کند تا از درخواست اطلاعات هویتی از کاربر جلوگیری شود\&. این معمولاً نام یک دستیار کمکی اعتبارنامه همراه با آرگومان‌های احتمالی است، اما همچنین می‌تواند یک مسیر مطلق همراه با آرگومان‌ها، یا در صورت شروع با !، دستورات شل باشد\&. .sp توجه داشته باشید که می‌توان چندین دستیار کمکی تعریف کرد\&. برای جزئیات و مثال‌ها به \fBgitcredentials\fR(7) مراجعه کنید\&. .RE .PP credential\&.interactive .RS 4 به طور پیش‌فرض، Git و هر دستیار کمکی اعتبارنامه پیکربندی‌شده، در زمان نیاز به اطلاعات هویتی جدید، از کاربر درخواست ورودی می‌کنند\&. بسیاری از این دستیاران در صورتی که اطلاعات هویتی ذخیره‌شده هنوز معتبر باشند، بر اساس آن‌ها کار را با موفقیت انجام می‌دهند\&. برای جلوگیری از امکان تعامل با کاربر از سوی Git، مقدار \fBcredential\&.interactive=false\fR را تنظیم کنید\&. برخی دستیاران کمکی اعتبارنامه نیز این گزینه را رعایت می‌کنند\&. .RE .PP credential\&.useHttpPath .RS 4 هنگام دریافت اطلاعات هویتی، مؤلفه "path" نشانی اینترنتی http یا https را مهم تلقی می‌کند\&. به طور پیش‌فرض false است\&. برای اطلاعات بیشتر به \fBgitcredentials\fR(7) مراجعه کنید\&. .RE .PP credential\&.sanitizePrompt .RS 4 به طور پیش‌فرض، نام‌های کاربری و میزبان‌هایی که به عنوان بخشی از اعلان گذرواژه نمایش داده می‌شوند مجاز به داشتن نویسه‌های کنترلی نیستند (آن‌ها به طور پیش‌فرض با کدگذاری URL نمایش می‌یابند)\&. این تنظیم را روی \fBfalse\fR پیکربندی کنید تا این رفتار لغو شود\&. .RE .PP credential\&.protectProtocol .RS 4 به طور پیش‌فرض، نویسه‌های Carriage Return در پروتکلی که هنگام ارتباط Git با یک دستیار کمکی اعتبارنامه استفاده می‌شود مجاز نیستند\&. این تنظیم به کاربران امکان می‌دهد این مقدار پیش‌فرض را لغو کنند\&. .RE .PP credential\&.username .RS 4 اگر هیچ نام کاربری برای احراز هویت شبکه تنظیم نشده باشد، به طور پیش‌فرض از این نام کاربری استفاده می‌کند\&. به credential\&.\&.* در ادامه، و \fBgitcredentials\fR(7) مراجعه کنید\&. .RE .PP credential\&.\&.* .RS 4 هر یک از گزینه‌های credential\&.* بالا می‌تواند به صورت انتخابی برای برخی اطلاعات هویتی اعمال شود\&. برای نمونه، "credential\&.https://example\&.com\&.username" نام کاربری پیش‌فرض را تنها برای اتصالات https به example\&.com تنظیم می‌کند\&. برای جزئیات درباره نحوه تطبیق URLها، به \fBgitcredentials\fR(7) مراجعه کنید\&. .RE .PP credentialCache\&.ignoreSIGHUP .RS 4 به git\-credential\-cache\(emdaemon اعلام می‌کند که سیگنال SIGHUP را به جای خروج نادیده بگیرد\&. .RE .PP credentialStore\&.lockTimeoutMS .RS 4 مدت زمان به میلی‌ثانیه برای تلاش مجدد git\-credential\-store هنگام تلاش برای قفل کردن فایل اطلاعات هویتی\&. مقدار 0 به معنای اصلاً تلاش مجدد نکردن است؛ \-1 به معنای تلاش نامحدود است\&. پیش‌فرض 1000 است (یعنی تلاش مجدد برای 1 ثانیه)\&. .RE .PP \fBdiff\&.autoRefreshIndex\fR .RS 4 هنگام استفاده از \fBgit\fR \fBdiff\fR برای مقایسه با فایل‌های درخت کاری، تغییرات صرفاً مربوط به stat را به عنوان تغییریافته تلقی نمی‌کند\&. در عوض، به صورت خاموش \fBgit\fR \fBupdate\-index\fR \fB\-\-refresh\fR را اجرا می‌کند تا اطلاعات کش‌شده stat را برای مسیرهایی که محتوای آن‌ها در درخت کاری با محتوای ایندکس مطابقت دارد به‌روزرسانی کند\&. این گزینه به طور پیش‌فرض \fBtrue\fR است\&. توجه داشته باشید که این موضوع تنها بر دستورات سطح بالای (Porcelain) \fBgit\fR \fBdiff\fR اثر می‌گذارد، و نه بر دستورات سطح پایین‌تر \fBdiff\fR مانند \fBgit\fR \fBdiff\-files\fR\&. .RE .PP \fBdiff\&.dirstat\fR .RS 4 فهرستی جداشده با کاما از پارامترهای \fB\-\-dirstat\fR که رفتار پیش‌فرض گزینه \fB\-\-dirstat\fR را برای \fBgit-diff\fR(1) و دستورات مرتبط مشخص می‌کند\&. مقادیر پیش‌فرض را می‌توان در خط فرمان بازنویسی کرد (با استفاده از \fB\-\-dirstat=\fR\fI\fR\fB,\fR\&.\&.\&.)\&. پیش‌فرض‌های جایگزین (هنگامی که توسط \fBdiff\&.dirstat\fR تغییر داده نشده باشند) عبارتند از \fBchanges\fR,noncumulative,3\&. پارامترهای زیر در دسترس هستند: .PP \fBchanges\fR .RS 4 اعداد dirstat را با شمارش خطوطی که از مبدا حذف شده یا به مقصد افزوده شده‌اند محاسبه می‌کند\&. این پارامتر میزان جابه‌جایی خالص کد در یک فایل را نادیده می‌گیرد\&. به عبارت دیگر، چینش مجدد خطوط در یک فایل به اندازه سایر تغییرات شمرده نمی‌شود\&. این رفتار پیش‌فرض در صورت عدم ارائه پارامتر است\&. .RE .PP \fBlines\fR .RS 4 اعداد dirstat را با انجام تحلیل معمول دیف مبتنی بر خط، و جمع کردن تعداد خطوط حذف‌شده/افزوده‌شده محاسبه می‌کند\&. (برای فایل‌های باینری، به جای آن تکه‌های 64 بایتی شمرده می‌شوند، زیرا فایل‌های باینری مفهوم طبیعی از خط ندارند)\&. این رفتار \fB\-\-dirstat\fR گران‌تر از رفتار \fBchanges\fR است، اما خطوط جابه‌جاشده در یک فایل را به اندازه سایر تغییرات به شمار می‌آورد\&. خروجی حاصل با آنچه از سایر گزینه‌های \fB\-\-*stat\fR به دست می‌آورید سازگار است\&. .RE .PP \fBfiles\fR .RS 4 اعداد dirstat را با شمارش تعداد فایل‌های تغییریافته محاسبه می‌کند\&. هر فایل تغییریافته در تحلیل dirstat به یک اندازه به حساب می‌آید\&. این رفتار از نظر محاسباتی کم‌هزینه‌ترین رفتار \fB\-\-dirstat\fR است، چرا که اصلاً نیازی به بررسی محتویات فایل ندارد\&. .RE .PP \fBcumulative\fR .RS 4 تغییرات در یک دایرکتوری فرزند را برای دایرکتوری والد نیز محاسبه می‌کند\&. توجه داشته باشید که هنگام استفاده از \fBcumulative\fR، مجموع درصدهای گزارش‌شده ممکن است از 100% فراتر رود\&. رفتار پیش‌فرض (غیرتراکمی) می‌تواند با پارامتر \fBnoncumulative\fR مشخص شود\&. .RE .PP \fI\fR .RS 4 یک پارامتر عدد صحیح که درصد آستانه حذف (به طور پیش‌فرض 3%) را مشخص می‌کند\&. دایرکتوری‌هایی که سهمی کمتر از این درصد از تغییرات را دارند در خروجی نشان داده نمی‌شوند\&. .RE .sp مثال: عبارت زیر فایل‌های تغییریافته را می‌شمارد، در حالی که دایرکتوری‌های دارای کمتر از 10% از کل مقدار فایل‌های تغییریافته را نادیده می‌گیرد، و شمارش دایرکتوری‌های فرزند را در دایرکتوری‌های والد تجمیع می‌کند: \fBfiles\fR,10,cumulative\&. .RE .PP \fBdiff\&.statNameWidth\fR .RS 4 عرض بخش نام فایل را در خروجی \fB\-\-stat\fR محدود می‌کند\&. در صورت تنظیم، بر تمامی دستورات تولیدکننده خروجی \fB\-\-stat\fR به جز \fBformat\-patch\fR اعمال می‌شود\&. .RE .PP \fBdiff\&.statGraphWidth\fR .RS 4 عرض بخش نمودار را در خروجی \fB\-\-stat\fR محدود می‌کند\&. در صورت تنظیم، بر تمامی دستورات تولیدکننده خروجی \fB\-\-stat\fR به جز \fBformat\-patch\fR اعمال می‌شود\&. .RE .PP \fBdiff\&.context\fR .RS 4 دیف‌ها را به جای پیش‌فرض 3، با \fI\fR خط زمینه (context) تولید می‌کند\&. این مقدار توسط گزینه \fB\-U\fR بازنویسی می‌شود\&. .RE .PP \fBdiff\&.interHunkContext\fR .RS 4 زمینه میان تکه‌های دیف (hunks) را تا تعداد خطوط مشخص‌شده نمایش می‌دهد، و بدین ترتیب تکه‌هایی را که نزدیک یکدیگر هستند به هم پیوند می‌دهد\&. این مقدار به عنوان پیش‌فرض برای گزینه خط فرمان \fB\-\-inter\-hunk\-context\fR عمل می‌کند\&. .RE .PP \fBdiff\&.external\fR .RS 4 اگر این متغیر پیکربندی تنظیم شود، تولید دیف با استفاده از سازوکار داخلی دیف انجام نمی‌شود، بلکه با استفاده از دستور داده‌شده صورت می‌گیرد\&. می‌تواند با متغیر محیطی \fBGIT_EXTERNAL_DIFF\fR بازنویسی شود\&. این دستور با پارامترهایی فراخوانی می‌شود که در بخش "git Diffs" در \fBgit\fR(1) توضیح داده شده است\&. نکته: اگر می‌خواهید از یک برنامه دیف خارجی تنها برای زیرمجموعه‌ای از فایل‌های خود استفاده کنید، ممکن است بهتر باشد به جای آن از \fBgitattributes\fR(5) استفاده کنید\&. .RE .PP \fBdiff\&.trustExitCode\fR .RS 4 اگر این مقدار بولی روی \fBtrue\fR تنظیم شود، آنگاه انتظار می‌رود دستور \fBdiff\&.external\fR در صورتی که فایل‌های ورودی را برابر بداند کد خروج 0 و اگر آن‌ها را متفاوت بداند کد خروج 1 را برگرداند، مانند \fBdiff\fR(1)\&. اگر روی \fBfalse\fR تنظیم شود، که پیش‌فرض است، آنگاه صرف‌نظر از برابری فایل‌ها، از دستور انتظار می‌رود کد خروج \fB0\fR را برگرداند\&. هر کد خروج دیگری باعث می‌شود Git یک خطای مهلک گزارش دهد\&. .RE .PP \fBdiff\&.ignoreSubmodules\fR .RS 4 مقدار پیش‌فرض \fB\-\-ignore\-submodules\fR را تنظیم می‌کند\&. توجه داشته باشید که این موضوع تنها بر دستورات سطح بالای (Porcelain) \fBgit\fR \fBdiff\fR اثر می‌گذارد، و نه بر دستورات سطح پایین‌تر \fBdiff\fR مانند \fBgit\fR \fBdiff\-files\fR\&. دستورات \fBgit\fR \fBcheckout\fR و \fBgit\fR \fBswitch\fR نیز هنگام گزارش تغییرات کامیت‌نشده به این تنظیم احترام می‌گذارند\&. تنظیم آن روی \fBall\fR خلاصه زیرماژول را که معمولاً هنگام تنظیم \fBstatus\&.submoduleSummary\fR توسط \fBgit\fR \fBcommit\fR و \fBgit\fR \fBstatus\fR نشان داده می‌شود غیرفعال می‌کند، مگر اینکه با استفاده از گزینه خط فرمان \fB\-\-ignore\-submodules\fR بازنویسی شود\&. دستورات \fBgit\fR \fBsubmodule\fR تحت تأثیر این تنظیم قرار نمی‌گیرند\&. به طور پیش‌فرض این مقدار روی untracked تنظیم شده است تا هرگونه زیرماژول ردگیری‌نشده نادیده گرفته شود\&. .RE .PP \fBdiff\&.mnemonicPrefix\fR .RS 4 در صورت تنظیم، \fBgit\fR \fBdiff\fR بسته به اینکه چه چیزی در حال مقایسه است، از یک جفت پیشوند متفاوت با پیشوند استاندارد \fBa/\fR و \fBb/\fR استفاده می‌کند\&. هنگامی که این پیکربندی برقرار باشد، خروجی دیف معکوس نیز ترتیب پیشوندها را جا‌به‌جا می‌کند: .PP \fBgit\fR \fBdiff\fR .RS 4 ایندکس (i) و درخت کاری (w) را مقایسه می‌کند؛ .RE .PP \fBgit\fR \fBdiff\fR \fBHEAD\fR .RS 4 یک کامیت (c) و درخت کاری (w) را مقایسه می‌کند؛ .RE .PP \fBgit\fR \fBdiff\fR \fB\-\-cached\fR .RS 4 یک کامیت (c) و ایندکس (i) را مقایسه می‌کند؛ .RE .PP \fBgit\fR \fBdiff\fR \fBHEAD:\fR\fI\fR \fI\fR .RS 4 یک شیء (o) و یک موجودیت درخت کاری (w) را مقایسه می‌کند؛ .RE .PP \fBgit\fR \fBdiff\fR \fB\-\-no\-index\fR \fI\fR \fI\fR .RS 4 دو مورد غیرگیت \fI\fR و \fI\fR را مقایسه می‌کند\&. .RE .RE .PP \fBdiff\&.noPrefix\fR .RS 4 در صورت تنظیم، \fBgit\fR \fBdiff\fR هیچ پیشوند مبدا یا مقصدی را نشان نمی‌دهد\&. .RE .PP \fBdiff\&.srcPrefix\fR .RS 4 در صورت تنظیم، \fBgit\fR \fBdiff\fR از این پیشوند مبدا استفاده می‌کند\&. پیش‌فرض آن \fBa/\fR است\&. .RE .PP \fBdiff\&.dstPrefix\fR .RS 4 در صورت تنظیم، \fBgit\fR \fBdiff\fR از این پیشوند مقصد استفاده می‌کند\&. پیش‌فرض آن \fBb/\fR است\&. .RE .PP \fBdiff\&.relative\fR .RS 4 اگر روی \fBtrue\fR تنظیم شود، \fBgit\fR \fBdiff\fR تغییرات خارج از دایرکتوری را نشان نمی‌دهد و نام مسیرها را به صورت نسبی نسبت به دایرکتوری جاری نمایش می‌دهد\&. .RE .PP \fBdiff\&.orderFile\fR .RS 4 فایلی که نحوه مرتب‌سازی فایل‌ها در یک دیف را مشخص می‌کند\&. برای جزئیات به گزینه \fB\-O\fR در \fBgit-diff\fR(1) مراجعه کنید\&. اگر \fBdiff\&.orderFile\fR یک مسیر نسبی باشد، به عنوان مسیر نسبی نسبت به ریشه درخت کاری تلقی می‌شود\&. .RE.PP \fBdiff\&.renameLimit\fR .RS 4 تعداد فایل‌هایی که در بخش جامع تشخیص کپی/تغییر نام در نظر گرفته می‌شوند؛ معادل گزینه \fB\-l\fR در \fBgit\fR \fBdiff\fR\&. اگر تنظیم نشود، مقدار پیش‌فرض در حال حاضر 1000 است\&. اگر تشخیص تغییر نام غیرفعال باشد، این تنظیم هیچ اثری ندارد\&. .RE .PP \fBdiff\&.renames\fR .RS 4 آیا و چگونه Git تغییر نام‌ها را تشخیص می‌دهد\&. اگر بر روی \fBfalse\fR تنظیم شود، تشخیص تغییر نام غیرفعال می‌شود\&. اگر بر روی \fBtrue\fR تنظیم شود، تشخیص پایه تغییر نام فعال می‌گردد\&. اگر بر روی \fBcopies\fR یا \fBcopy\fR تنظیم شود، Git کپی‌ها را نیز تشخیص خواهد داد\&. پیش‌فرض \fBtrue\fR است\&. توجه داشته باشید که این مورد تنها بر دستورات سطح بالا (Porcelain) \fBgit\fR \fBdiff\fR مانند \fBgit-diff\fR(1) و \fBgit-log\fR(1) تأثیر می‌گذارد و بر دستورات سطح پایین‌تر مانند \fBgit-diff-files\fR(1) اثری ندارد\&. .RE .PP \fBdiff\&.suppressBlankEmpty\fR .RS 4 یک مقدار بولی برای بازداری از رفتار استاندارد چاپ فاصله (space) پیش از هر خط خروجی خالی\&. پیش‌فرض \fBfalse\fR است\&. .RE .PP \fBdiff\&.submodule\fR .RS 4 قالبی را مشخص می‌کند که تفاوت‌ها در زیرماژول‌ها در آن قالب نمایش داده می‌شوند\&. قالب \fBshort\fR فقط نام کامیت‌ها را در ابتدا و انتهای بازه نشان می‌دهد\&. قالب \fBlog\fR کامیت‌های موجود در بازه را مانند آنچه \fBgit-submodule\fR(1) \fBsummary\fR انجام می‌دهد فهرست می‌کند\&. قالب \fBdiff\fR یک diff درون‌خطی از محتویات تغییریافته زیرماژول را نشان می‌دهد\&. پیش‌فرض \fBshort\fR است\&. .RE .PP \fBdiff\&.wordRegex\fR .RS 4 یک عبارت باقاعده گسترده POSIX که برای تعیین اینکه هنگام انجام محاسبات تفاوت کلمه‌به‌کلمه چه چیزی «کلمه» محسوب می‌شود، استفاده می‌گردد\&. دنباله‌های نویسه‌ای که با عبارت باقاعده مطابقت دارند «کلمه» هستند، تمام نویسه‌های دیگر فضای خالی \fBignorable\fR (قابل چشم‌پوشی) در نظر گرفته می‌شوند\&. .RE .PP \fBdiff\&.\fR\fI\fR\fB\&.command\fR .RS 4 دستور درایور سفارشی diff\&. برای جزئیات به \fBgitattributes\fR(5) مراجعه کنید\&. .RE .PP \fBdiff\&.\fR\fI\fR\fB\&.trustExitCode\fR .RS 4 اگر این مقدار بولی روی \fBtrue\fR تنظیم شود، آنگاه انتظار می‌رود دستور \fBdiff\&.\fR\fI\fR\fB\&.command\fR در صورتی که فایل‌های ورودی را برابر بداند کد خروج 0 و در صورتی که آن‌ها را متفاوت بداند کد خروج 1 را برگرداند، مانند \fBdiff\fR(1)\&. اگر روی \fBfalse\fR تنظیم شود که مقدار پیش‌فرض است، آنگاه انتظار می‌رود دستور صرف‌نظر از برابری، کد خروج 0 برگرداند\&. هر کد خروج دیگری باعث می‌شود Git یک خطای مهلک گزارش کند\&. .RE .PP \fBdiff\&.\fR\fI\fR\fB\&.xfuncname\fR .RS 4 عبارت باقاعده‌ای که درایور diff باید برای تشخیص سرآیند قطعه (hunk header) استفاده کند\&. همچنین می‌توان از یک الگوی توکار استفاده کرد\&. برای جزئیات به \fBgitattributes\fR(5) مراجعه کنید\&. .RE .PP \fBdiff\&.\fR\fI\fR\fB\&.binary\fR .RS 4 این گزینه را روی \fBtrue\fR تنظیم کنید تا درایور diff فایل‌ها را به عنوان باینری در نظر بگیرد\&. برای جزئیات به \fBgitattributes\fR(5) مراجعه کنید\&. .RE .PP \fBdiff\&.\fR\fI\fR\fB\&.textconv\fR .RS 4 دستوری که درایور diff باید برای تولید نسخه تبدیل‌شده به متنِ یک فایل فراخوانی کند\&. نتیجه تبدیل برای تولید یک diff خوانا برای انسان استفاده می‌شود\&. برای جزئیات به \fBgitattributes\fR(5) مراجعه کنید\&. .RE .PP \fBdiff\&.\fR\fI\fR\fB\&.wordRegex\fR .RS 4 عبارت باقاعده‌ای که درایور diff باید برای تفکیک کلمات در یک خط استفاده کند\&. برای جزئیات به \fBgitattributes\fR(5) مراجعه کنید\&. .RE .PP \fBdiff\&.\fR\fI\fR\fB\&.cachetextconv\fR .RS 4 این گزینه را روی \fBtrue\fR تنظیم کنید تا درایور diff خروجی‌های تبدیل متن را کِش کند\&. برای جزئیات به \fBgitattributes\fR(5) مراجعه کنید\&. .RE .PP \fBdiff\&.indentHeuristic\fR .RS 4 این گزینه را روی \fBfalse\fR تنظیم کنید تا روش‌های اکتشافی پیش‌فرضی که مرزهای قطعه diff را تغییر می‌دهند تا وصله‌ها آسان‌تر خوانده شوند، غیرفعال گردند\&. .RE .PP \fBdiff\&.algorithm\fR .RS 4 یک الگوریتم diff انتخاب کنید\&. گونه‌ها به شرح زیر هستند: .PP \fBdefault\fR, \fBmyers\fR .RS 4 الگوریتم پایه‌ای حریصانه diff\&. در حال حاضر، این پیش‌فرض است\&. .RE .PP \fBminimal\fR .RS 4 زمان بیشتری صرف می‌کند تا مطمئن شود کوچک‌ترین diff ممکن تولید می‌شود\&. .RE .PP \fBpatience\fR .RS 4 استفاده از الگوریتم «patience diff» هنگام ایجاد وصله‌ها\&. .RE .PP \fBhistogram\fR .RS 4 این الگوریتم، الگوریتم patience را برای «پشتیبانی از عناصر مشترک با تکرار کم» گسترش می‌دهد\&. .RE .RE .PP \fBdiff\&.wsErrorHighlight\fR .RS 4 خطاهای فضای خالی را در خطوط \fBcontext\fR، \fBold\fR یا \fBnew\fR در diff برجسته کنید\&. مقادیر چندگانه با کاما جدا می‌شوند، \fBnone\fR مقادیر قبلی را بازنشانی می‌کند، \fBdefault\fR فهرست را به \fBnew\fR بازنشانی می‌نماید و \fBall\fR کوتاه‌شده‌ای برای \fBold\fR,new,context است\&. خطاهای فضای خالی با \fBcolor\&.diff\&.whitespace\fR رنگ‌آمیزی می‌شوند\&. گزینه خط فرمان \fB\-\-ws\-error\-highlight=\fR\fI\fR این تنظیم را لغو می‌کند\&. .RE .PP \fBdiff\&.colorMoved\fR .RS 4 اگر روی یک \fI\fR معتبر یا یک مقدار \fBtrue\fR تنظیم شود، خطوط جابجا شده در یک diff با رنگ متفاوتی نمایش داده می‌شوند\&. برای جزئیات حالت‌های معتبر، \fB\-\-color\-moved\fR در \fBgit-diff\fR(1) را ببینید\&. اگر صرفاً روی \fBtrue\fR تنظیم شود، حالت رنگ پیش‌فرض استفاده خواهد شد\&. هنگامی که روی \fBfalse\fR تنظیم گردد، خطوط جابجا شده رنگ‌آمیزی نمی‌شوند\&. .RE .PP \fBdiff\&.colorMovedWS\fR .RS 4 هنگامی که خطوط جابجا شده مثلاً با استفاده از تنظیم \fBdiff\&.colorMoved\fR رنگ‌آمیزی می‌شوند، این گزینه نحوه برخورد با فاصله‌ها را کنترل می‌کند\&. برای جزئیات حالت‌های معتبر، \fB\-\-color\-moved\-ws\fR در \fBgit-diff\fR(1) را ببینید\&. .RE .PP \fBdiff\&.tool\fR .RS 4 کنترل می‌کند که کدام ابزار diff توسط \fBgit-difftool\fR(1) استفاده شود\&. این متغیر مقدار پیکربندی‌شده در \fBmerge\&.tool\fR را لغو می‌کند\&. فهرست زیر مقادیر توکار معتبر را نشان می‌دهد\&. هر مقدار دیگری به عنوان یک ابزار diff سفارشی در نظر گرفته می‌شود و مستلزم آن است که متغیر متناظر \fBdifftool\&.\fR\fI\fR\fB\&.cmd\fR تعریف شده باشد\&. .RE .PP \fBdiff\&.guitool\fR .RS 4 کنترل می‌کند که هنگام مشخص شدن فلگ \fB\-g\fR/\fB\-\-gui\fR، کدام ابزار diff توسط \fBgit-difftool\fR(1) استفاده شود\&. این متغیر مقدار پیکربندی‌شده در \fBmerge\&.guitool\fR را لغو می‌کند\&. فهرست زیر مقادیر توکار معتبر را نشان می‌دهد\&. هر مقدار دیگری به عنوان یک ابزار diff سفارشی در نظر گرفته می‌شود و مستلزم آن است که متغیر متناظر \fBdifftool\&.\fR\fI\fR\fB\&.cmd\fR تعریف شده باشد\&. .PP \fBaraxis\fR .RS 4 استفاده از Araxis Merge (نیازمند نشست گرافیکی) .RE .PP \fBbc\fR .RS 4 استفاده از Beyond Compare (نیازمند نشست گرافیکی) .RE .PP \fBbc3\fR .RS 4 استفاده از Beyond Compare (نیازمند نشست گرافیکی) .RE .PP \fBbc4\fR .RS 4 استفاده از Beyond Compare (نیازمند نشست گرافیکی) .RE .PP \fBcodecompare\fR .RS 4 استفاده از Code Compare (نیازمند نشست گرافیکی) .RE .PP \fBdeltawalker\fR .RS 4 استفاده از DeltaWalker (نیازمند نشست گرافیکی) .RE .PP \fBdiffmerge\fR .RS 4 استفاده از DiffMerge (نیازمند نشست گرافیکی) .RE .PP \fBdiffuse\fR .RS 4 استفاده از Diffuse (نیازمند نشست گرافیکی) .RE .PP \fBecmerge\fR .RS 4 استفاده از ECMerge (نیازمند نشست گرافیکی) .RE .PP \fBemerge\fR .RS 4 استفاده از Emacs\*(Aq Emerge .RE .PP \fBexamdiff\fR .RS 4 استفاده از ExamDiff Pro (نیازمند نشست گرافیکی) .RE .PP \fBguiffy\fR .RS 4 استفاده از Guiffy\(cqs Diff Tool (نیازمند نشست گرافیکی) .RE .PP \fBgvimdiff\fR .RS 4 استفاده از gVim (نیازمند نشست گرافیکی) .RE .PP \fBkdiff3\fR .RS 4 استفاده از KDiff3 (نیازمند نشست گرافیکی) .RE .PP \fBkompare\fR .RS 4 استفاده از Kompare (نیازمند نشست گرافیکی) .RE .PP \fBmeld\fR .RS 4 استفاده از Meld (نیازمند نشست گرافیکی) .RE .PP \fBnvimdiff\fR .RS 4 استفاده از Neovim .RE .PP \fBopendiff\fR .RS 4 استفاده از FileMerge (نیازمند نشست گرافیکی) .RE .PP \fBp4merge\fR .RS 4 استفاده از HelixCore P4Merge (نیازمند نشست گرافیکی) .RE .PP \fBsmerge\fR .RS 4 استفاده از Sublime Merge (نیازمند نشست گرافیکی) .RE .PP \fBtkdiff\fR .RS 4 استفاده از TkDiff (نیازمند نشست گرافیکی) .RE .PP \fBvimdiff\fR .RS 4 استفاده از Vim .RE .PP \fBvscode\fR .RS 4 استفاده از Visual Studio Code (نیازمند نشست گرافیکی) .RE .PP \fBwinmerge\fR .RS 4 استفاده از WinMerge (نیازمند نشست گرافیکی) .RE .PP \fBxxdiff\fR .RS 4 استفاده از xxdiff (نیازمند نشست گرافیکی) .RE .RE .PP \fBdifftool\&.\fR\fI\fR\fB\&.cmd\fR .RS 4 دستور لازم برای فراخوانی ابزار diff مشخص‌شده را معین می‌کند\&. دستور مشخص‌شده در شل با در دسترس بودن متغیرهای زیر ارزیابی می‌شود: \fBLOCAL\fR روی نام فایل موقت حاوی محتویات پیش‌تصویر diff (pre\-image) تنظیم می‌شود و \fBREMOTE\fR روی نام فایل موقت حاوی محتویات پس‌تصویر diff (post\-image) تنظیم می‌گردد\&. .sp برای جزئیات بیشتر به گزینه \fB\-\-tool=\fR\fI\fR در \fBgit-difftool\fR(1) مراجعه کنید\&. .RE .PP \fBdifftool\&.\fR\fI\fR\fB\&.path\fR .RS 4 مسیر ابزار داده‌شده را لغو می‌کند\&. این در مواردی مفید است که ابزار شما در PATH قرار ندارد\&. .RE .PP \fBdifftool\&.trustExitCode\fR .RS 4 اگر ابزار diff فراخوانی‌شده وضعیت خروج غیرصفر برگرداند، از difftool خارج شود\&. .sp برای جزئیات بیشتر به گزینه \fB\-\-trust\-exit\-code\fR در \fBgit-difftool\fR(1) مراجعه کنید\&. .RE .PP \fBdifftool\&.prompt\fR .RS 4 قبل از هر بار فراخوانی ابزار diff اعلان تأیید نمایش داده شود\&. .RE .PP \fBdifftool\&.guiDefault\fR .RS 4 روی \fBtrue\fR تنظیم کنید تا به صورت پیش‌فرض از \fBdiff\&.guitool\fR استفاده شود (معادل با مشخص کردن آرگومان \fB\-\-gui\fR)، یا \fBauto\fR برای انتخاب \fBdiff\&.guitool\fR یا \fBdiff\&.tool\fR بسته به وجود مقدار متغیر محیطی \fBDISPLAY\fR\&. پیش‌فرض \fBfalse\fR است، که در آن آرگومان \fB\-\-gui\fR باید صراحتاً ارائه شود تا \fBdiff\&.guitool\fR استفاده گردد\&. .RE .PP extensions\&.* .RS 4 مگر در مواردی که خلاف آن ذکر شده باشد، اگر \fBcore\&.repositoryFormatVersion\fR برابر \fB1\fR نباشد، مشخص کردن یک افزونه خطا است\&. به \fBgitrepository-layout\fR(5) مراجعه کنید\&. .PP compatObjectFormat .RS 4 یک الگوریتم هش سازگاری را برای استفاده مشخص می‌کند\&. مقادیر قابل قبول \fBsha1\fR و \fBsha256\fR هستند\&. مقدار مشخص‌شده باید با مقدار \fBextensions\&.objectFormat\fR متفاوت باشد\&. این امر امکان تعامل‌پذیری در سطح کلاینت را بین مخازن گیت که objectFormat آن‌ها با این compatObjectFormat مطابقت دارد فراهم می‌آورد\&. به‌ویژه هنگامی که به طور کامل پیاده‌سازی شود، پوش‌ها و پول‌ها از مخزنی که objectFormat آن با compatObjectFormat مطابقت دارد انجام می‌شود، و همچنین امکان استفاده از oidهای کدگذاری‌شده در compatObjectFormat علاوه بر oidهای کدگذاری‌شده با objectFormat برای مشخص کردن اشیاء به صورت محلی وجود خواهد داشت\&. .sp توجه داشته باشید عملکردی که توسط این افزونه فعال می‌شود ناقص بوده و در معرض تغییر است\&. این قابلیت در حال حاضر تنها برای امکان توسعه و آزمایش ویژگی زیربنایی وجود دارد و برای فعال‌سازی توسط کاربران نهایی طراحی نشده است\&. .RE .PP noop .RS 4 این افزونه رفتار گیت را به هیچ وجه تغییر نمی‌دهد\&. این افزونه تنها برای آزمایش سازگاری با فرمت ۱ مفید است\&. .sp به دلایل تاریخی، این افزونه صرف‌نظر از تنظیم \fBcore\&.repositoryFormatVersion\fR رعایت می‌شود\&. .RE .PP noop\-v1 .RS 4 این افزونه رفتار گیت را به هیچ وجه تغییر نمی‌دهد\&. این افزونه تنها برای آزمایش سازگاری با فرمت ۱ مفید است\&. .RE .PP objectFormat .RS 4 الگوریتم هش مورد استفاده را مشخص می‌کند\&. مقادیر قابل قبول \fBsha1\fR و \fBsha256\fR هستند\&. در صورت عدم مشخص شدن، \fBsha1\fR فرض می‌شود\&. .sp توجه داشته باشید که این تنظیم تنها باید توسط \fBgit-init\fR(1) یا \fBgit-clone\fR(1) تنظیم شود\&. تلاش برای تغییر آن پس از مقداردهی اولیه کار نخواهد کرد و مشکلاتی به وجود می‌آورد که عیب‌یابی آن‌ها دشوار است\&. .RE .PP partialClone .RS 4 هنگام فعال بودن، نشان می‌دهد که مخزن با یک کلون جزئی ایجاد شده است (یا بعداً واکشی جزئی انجام داده است) و اینکه ریموت ممکن است از ارسال اشیاء ناخواسته خاصی صرف‌نظر کرده باشد\&. چنین ریموتی «promisor remote» (ریموت متعهد) نامیده می‌شود و قول می‌دهد که تمام اشیاء حذف‌شده این‌چنینی را می‌توان در آینده از آن واکشی کرد\&. .sp مقدار این کلید، نام ریموت متعهد است\&. .sp به دلایل تاریخی، این افزونه صرف‌نظر از تنظیم \fBcore\&.repositoryFormatVersion\fR رعایت می‌شود\&. .RE .PP preciousObjects .RS 4 در صورت فعال بودن، نشان می‌دهد که اشیاء موجود در مخزن نباید حذف شوند (مثلاً توسط \fBgit\-prune\fR یا \fBgit\fR \fBrepack\fR \fB\-d\fR)\&. .sp به دلایل تاریخی، این افزونه صرف‌نظر از تنظیم \fBcore\&.repositoryFormatVersion\fR رعایت می‌شود\&. .RE .PP refStorage .RS 4 فرمت ذخیره‌سازی مراجع و محموله (payload) متناظر آن را مشخص می‌کند\&. مقدار می‌تواند یک نام فرمت یا یک URI باشد: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} تنها یک نام فرمت (مثلاً \fBreftable\fR یا \fBfiles\fR)\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} یک فرمت URI \fI\fR\fB://\fR\fI\fR که صراحتاً هم فرمت و هم محموله را مشخص می‌کند (مثلاً \fBreftable:///foo/bar\fR)\&. .RE .sp نام‌های فرمت پشتیبانی‌شده عبارتند از: .PP \fBfiles\fR .RS 4 برای فایل‌های مستقل همراه با packed\-refs\&. این حالت پیش‌فرض است\&. .RE .PP \fBreftable\fR .RS 4 برای فرمت reftable\&. .RE .sp محموله مستقیماً به بک‌اند مراجع ارسال می‌شود\&. برای بک‌اندهای files و reftable، این باید یک مسیر سیستم‌فایل باشد که مراجع در آن ذخیره می‌شوند\&. در صورتی که محموله‌ای ارائه نشود، به طور پیش‌فرض commondir در نظر گرفته می‌شود\&. مسیرهای نسبی نسبت به \fB$GIT_DIR\fR حل می‌شوند\&. بک‌اندهای آینده ممکن است از طرح‌های محموله دیگری پشتیبانی کنند، مثلاً postgres://127\&.0\&.0\&.1:5432?database=myrepo\&. .sp توجه داشته باشید که این تنظیم تنها باید توسط \fBgit-init\fR(1) یا \fBgit-clone\fR(1) تنظیم شود\&. تلاش برای تغییر آن پس از مقداردهی اولیه کار نخواهد کرد و مشکلاتی به وجود می‌آورد که عیب‌یابی آن‌ها دشوار است\&. .RE .PP relativeWorktrees .RS 4 در صورت فعال بودن، نشان می‌دهد حداقل یک درخت کاری با مسیرهای نسبی پیوند داده شده است\&. اگر یک درخت کاری با گزینه \fB\-\-relative\-paths\fR یا با تنظیم پیکربندی \fBworktree\&.useRelativePaths\fR روی \fBtrue\fR ایجاد یا تعمیر شده باشد، به طور خودکار تنظیم می‌گردد\&. .RE .PP submodulePathConfig .RS 4 این افزونه برای اقلیتی از کاربران است که: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} به دلایل مختلف، مانند تداخل‌های سیستم‌فایل غیرحساس به حروف کوچک و بزرگ هنگام ایجاد ماژول‌هایی با نام‌های \fBfoo\fR و \fBFoo\fR، با خطاهایی مانند \fBrefusing\fR \fBto\fR \fBcreate\fR \fB\&.\&.\&.\fR \fBin\fR \fBanother\fR \fBsubmodule\fR\*(Aqs \fBgit\fR \fBdir\fR مواجه می‌شوند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} به ساختاربندی‌های انعطاف‌پذیرتری برای زیرماژول‌ها نیاز دارند، برای مثال به دلیل نام‌های تو در تو مانند \fBfoo\fR، \fBfoo/bar\fR و \fBfoo/baz\fR که توسط سازوکار پیش‌فرض gitdir که از مکان‌های \fB\&.git/modules/\fR\fI\fR استفاده می‌کند پشتیبانی نمی‌شوند، و باعث تداخل‌های بیشتری می‌گردند\&. .RE .sp هنگامی که \fBextensions\&.submodulePathConfig\fR فعال باشد، پیکربندی \fBsubmodule\&.\fR\fI\fR\fB\&.gitdir\fR به تنها مرجع واحد حقیقت برای تمام مسیرهای gitdir زیرماژول‌ها تبدیل می‌شود و برای تمام زیرماژول‌های جدید هم در طول عملیات clone و هم init به صورت خودکار تنظیم می‌گردد\&. .sp اگر یک ماژول تنظیم متناظر \fBsubmodule\&.\fR\fI\fR\fB\&.gitdir\fR را نداشته باشد، Git با خطا مواجه خواهد شد\&. .sp زیرماژول‌های موجود (پیش از فعال‌سازی افزونه) باید با افزودن ورودی‌های پیکربندی ناموجود مهاجرت داده شوند\&. این کار می‌تواند به صورت دستی انجام شود، مثلاً برای هر زیرماژول: \fBgit\fR \fBconfig\fR \fBsubmodule\&.\fR\fI\fR\fB\&.gitdir\fR \fB\&.git/modules/\fR\fI\fR، یا از طریق دستور \fBgit\fR \fBsubmodule\-\-helper\fR \fBmigrate\-gitdir\-configs\fR که روی تمام زیرماژول‌ها پیمایش کرده و تلاش می‌کند آن‌ها را مهاجرت دهد\&. .sp این افزونه می‌تواند با تنظیم \fBinit\&.defaultSubmodulePathConfig\fR روی \fBtrue\fR، به طور خودکار برای مخازن جدید فعال شود، برای مثال با اجرای \fBgit\fR \fBconfig\fR \fB\-\-global\fR \fBinit\&.defaultSubmodulePathConfig\fR \fBtrue\fR\&. .RE .PP worktreeConfig .RS 4 در صورت فعال بودن، درخت‌های کاری تنظیمات پیکربندی را علاوه بر فایل \fB$GIT_COMMON_DIR/config\fR از فایل \fB$GIT_DIR/config\&.worktree\fR نیز بارگذاری خواهند کرد\&. توجه داشته باشید که \fB$GIT_COMMON_DIR\fR و \fB$GIT_DIR\fR برای درخت کاری اصلی یکسان هستند، در حالی که سایر درخت‌های کاری دارای \fB$GIT_DIR\fR برابر با \fB$GIT_COMMON_DIR/worktrees/\fR\fI\fR\fB/\fR می‌باشند\&. تنظیمات موجود در فایل \fBconfig\&.worktree\fR تنظیمات هر فایل پیکربندی دیگری را لغو خواهند کرد\&. .sp هنگام فعال‌سازی این افزونه، باید مراقب باشید که در صورت وجود، مقادیر خاصی را از فایل پیکربندی مشترک به فایل \fBconfig\&.worktree\fR درخت کاری اصلی منتقل کنید: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBcore\&.worktree\fR باید از \fB$GIT_COMMON_DIR/config\fR به \fB$GIT_COMMON_DIR/config\&.worktree\fR منتقل شود\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} اگر \fBcore\&.bare\fR برابر true باشد، آنگاه باید از \fB$GIT_COMMON_DIR/config\fR به \fB$GIT_COMMON_DIR/config\&.worktree\fR منتقل شود\&. .RE .sp همچنین ممکن است بسته به تمایل شما برای تنظیمات سفارشی‌سازی‌پذیر sparse\-checkout برای هر درخت کاری، تنظیم مکان‌های \fBcore\&.sparseCheckout\fR و \fBcore\&.sparseCheckoutCone\fR مفید باشد\&. به طور پیش‌فرض، دستور توکار \fBgit\fR \fBsparse\-checkout\fR این افزونه را فعال می‌کند، این مقادیر پیکربندی را بر مبنای هر درخت کاری اختصاص می‌دهد، و از فایل \fB$GIT_DIR/info/sparse\-checkout\fR برای تعیین میزان پراکندگی برای هر درخت کاری به طور مستقل استفاده می‌کند\&. برای جزئیات بیشتر به \fBgit-sparse-checkout\fR(1) مراجعه کنید\&. .sp به دلایل تاریخی، این افزونه صرف‌نظر از تنظیم \fBcore\&.repositoryFormatVersion\fR رعایت می‌شود\&. .RE .RE .PP fastimport\&.unpackLimit .RS 4 اگر تعداد اشیاء واردشده توسط \fBgit-fast-import\fR(1) کمتر از این حد باشد، اشیاء به صورت فایل‌های شیء مستقل از بسته‌بندی خارج می‌شوند\&. اما اگر تعداد اشیاء واردشده برابر یا بیشتر از این حد باشد، بسته به صورت یک فایل بسته (pack) ذخیره خواهد شد\&. ذخیره بسته حاصل از fast\-import می‌تواند باعث شود عملیات ورود سریع‌تر انجام شود، به‌ویژه روی سیستم‌های فایلی کند\&. در صورت عدم تنظیم، مقدار \fBtransfer\&.unpackLimit\fR به جای آن استفاده می‌شود\&. .RE .PP feature\&.* .RS 4 تنظیمات پیکربندی که با \fBfeature\&.\fR شروع می‌شوند، مقادیر پیش‌فرض گروهی از تنظیمات پیکربندی دیگر را تغییر می‌دهند\&. این گروه‌ها توسط جامعه توسعه‌دهندگان Git به عنوان پیش‌فرض‌های توصیه‌شده ایجاد شده‌اند و در معرض تغییر هستند\&. به‌ویژه، ممکن است گزینه‌های پیکربندی جدیدی با پیش‌فرض‌های متفاوت اضافه شوند\&. .RE .PP feature\&.experimental .RS 4 گزینه‌های پیکربندی را که در Git جدید هستند و برای پیش‌فرض‌های آینده در نظر گرفته شده‌اند فعال کنید\&. تنظیمات پیکربندی گنجانده‌شده در اینجا ممکن است با هر انتشار، از جمله به‌روزرسانی‌های نگارش‌های فرعی، اضافه یا حذف شوند\&. این تنظیمات ممکن است به دلیل جدید بودن، اثرات متقابل ناخواسته‌ای داشته باشند\&. لطفاً اگر علاقه‌مند به ارائه بازخورد در مورد ویژگی‌های آزمایشی هستید، این تنظیم را فعال کنید\&. مقادیر پیش‌فرض جدید عبارتند از: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBfetch\&.negotiationAlgorithm=skipping\fR ممکن است با پرش از روی کامیت‌های بیشتر در هر مرحله، زمان مذاکره واکشی را بهبود بخشد و تعداد رفت‌وبرگشت‌ها را کاهش دهد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBpack\&.useBitmapBoundaryTraversal=true\fR ممکن است با پیمایش اشیاء کمتر، زمان پیمایش نگاشت بیتی را بهبود بخشد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBpack\&.allowPackReuse=multi\fR ممکن است زمان لازم برای ایجاد یک بسته را با استفاده مجدد از اشیاءِ چند بسته به جای تنها یک بسته بهبود بخشد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBpack\&.usePathWalk\fR ممکن است ایجاد فایل بسته را سرعت بخشد و اندازه فایل‌های بسته را در حضور تداخل‌های خاص نام فایل با هش پیش‌فرض نام در Git به طور چشمگیری کوچک‌تر کند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBinit\&.defaultRefFormat=reftable\fR باعث می‌شود مخازن تازه مقداردهی‌شده از فرمت reftable برای ذخیره‌سازی مراجع استفاده کنند\&. این فرمت جدید مشکلات مربوط به سیستم‌های فایلی غیرحساس به حروف کوچک و بزرگ را برطرف می‌کند، فشرده‌سازی بهتری دارد و در بسیاری از موارد کاربرد عملکرد بسیار بهتری ارائه می‌دهد\&. برای اطلاعات بیشتر در مورد این فرمت ذخیره‌سازی جدید به Documentation/technical/reftable\&.adoc مراجعه کنید\&. .RE .RE .PP feature\&.manyFiles .RS 4 گزینه‌های پیکربندی را فعال می‌کند که برای مخازنی با تعداد فایل‌های بسیار در دایرکتوری کاری بهینه‌سازی شده‌اند\&. با وجود فایل‌های بسیار، دستوراتی مانند \fBgit\fR \fBstatus\fR و \fBgit\fR \fBcheckout\fR ممکن است کند باشند و این پیش‌فرض‌های جدید عملکرد را بهبود می‌بخشند: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBindex\&.skipHash=true\fR با محاسبه نکردن جمع کنترلی پایانی، نوشتن در ایندکس را سرعت می‌بخشد\&. توجه داشته باشید که این امر باعث می‌شود نگارش‌های Git قدیمی‌تر از 2\&.13\&.0 از تجزیه ایندکس خودداری کنند و نگارش‌های Git قدیمی‌تر از 2\&.40\&.0 در حین اجرای \fBgit\fR \fBfsck\fR یک ایندکس خراب را گزارش دهند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBindex\&.version=4\fR فشرده‌سازی پیشوند مسیر را در ایندکس فعال می‌کند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBcore\&.untrackedCache=true\fR کِش فایل‌های ردگیری‌نشده را فعال می‌کند\&. این تنظیم فرض می‌کند که mtime روی سیستم شما کار می‌کند\&. .RE .RE .PP \fBfetch\&.recurseSubmodules\fR .RS 4 این گزینه کنترل می‌کند که آیا \fBgit\fR \fBfetch\fR (و واکشی زیربنایی در \fBgit\fR \fBpull\fR) به صورت بازگشتی در زیرماژول‌های پرشده واکشی انجام دهد یا خیر\&. این گزینه می‌تواند روی یک مقدار بولی یا روی \fBon\-demand\fR تنظیم شود\&. تنظیم آن روی یک مقدار بولی رفتار fetch و pull را تغییر می‌دهد تا در صورت تنظیم روی true بدون قید و شرط به صورت بازگشتی وارد زیرماژول‌ها شوند، یا در صورت تنظیم روی false اصلاً بازگشتی عمل نکنند\&. هنگامی که روی \fBon\-demand\fR تنظیم شود، fetch و pull تنها زمانی به صورت بازگشتی وارد یک زیرماژول پرشده می‌شوند که ابرپروژه آن کامیتی را دریافت کند که مرجع زیرماژول را به‌روزرسانی نماید\&. پیش‌فرض \fBon\-demand\fR است، یا مقدار \fBsubmodule\&.recurse\fR در صورت تنظیم بودن\&. .RE .PP \fBfetch\&.fsckObjects\fR .RS 4 اگر روی true تنظیم شود، git\-fetch\-pack تمام اشیاء واکشی‌شده را بررسی خواهد کرد\&. برای آنچه بررسی می‌شود به \fBtransfer\&.fsckObjects\fR مراجعه کنید\&. پیش‌فرض \fBfalse\fR است\&. در صورت عدم تنظیم، مقدار \fBtransfer\&.fsckObjects\fR به جای آن استفاده می‌شود\&. .RE .PP \fBfetch\&.fsck\&.\fR\fI\fR .RS 4 مانند \fBfsck\&.\fR\fI\fR عمل می‌کند، اما به جای \fBgit-fsck\fR(1) توسط \fBgit-fetch-pack\fR(1) استفاده می‌شود\&. برای جزئیات به مستندات \fBfsck\&.\fR\fI\fR مراجعه کنید\&. .RE .PP \fBfetch\&.fsck\&.skipList\fR .RS 4 مانند \fBfsck\&.skipList\fR عمل می‌کند، اما به جای \fBgit-fsck\fR(1) توسط \fBgit-fetch-pack\fR(1) استفاده می‌شود\&. برای جزئیات به مستندات \fBfsck\&.skipList\fR مراجعه کنید\&. .RE .PP \fBfetch\&.unpackLimit\fR .RS 4 اگر تعداد اشیاء واکشی‌شده از طریق انتقال بومی Git کمتر از این حد باشد، اشیاء به صورت فایل‌های شیء مستقل از بسته‌بندی خارج می‌شوند\&. اما اگر تعداد اشیاء دریافت‌شده برابر یا بیشتر از این حد باشد، بسته دریافت‌شده پس از افزودن هرگونه پایه‌های دلتای ناموجود، به عنوان یک بسته ذخیره خواهد شد\&. ذخیره بسته حاصل از ارسال می‌تواند باعث شود عملیات ارسال سریع‌تر انجام شود، به‌ویژه روی سیستم‌های فایلی کند\&. در صورت عدم تنظیم، مقدار \fBtransfer\&.unpackLimit\fR به جای آن استفاده می‌شود\&. .RE .PP \fBfetch\&.prune\fR .RS 4 اگر true باشد، fetch به طور خودکار به گونه‌ای عمل می‌کند که گویی گزینه \fB\-\-prune\fR در خط فرمان داده شده است\&. همچنین به \fBremote\&.\fR\fI\fR\fB\&.prune\fR و بخش PRUNING در \fBgit-fetch\fR(1) مراجعه کنید\&. .RE .PP \fBfetch\&.pruneTags\fR .RS 4 اگر true باشد، fetch در هنگام هرس به طور خودکار به گونه‌ای عمل می‌کند که گویی مشخصه مرجع \fBrefs/tags/*:refs/tags/*\fR ارائه شده است، البته اگر قبلاً تنظیم نشده باشد\&. این امر امکان تنظیم هر دوی این گزینه و \fBfetch\&.prune\fR را برای حفظ نگاشت ۱ به ۱ با مراجع بالادست فراهم می‌کند\&. همچنین به \fBremote\&.\fR\fI\fR\fB\&.pruneTags\fR و بخش PRUNING در \fBgit-fetch\fR(1) مراجعه کنید\&. .RE .PP \fBfetch\&.all\fR .RS 4 اگر true باشد، fetch تلاش می‌کند تمام ریموت‌های موجود را به‌روزرسانی کند\&. این رفتار را می‌توان با فرستادن \fB\-\-no\-all\fR یا با مشخص کردن صریح یک یا چند ریموت برای واکشی لغو کرد\&. پیش‌فرض \fBfalse\fR است\&. .RE .PP \fBfetch\&.output\fR .RS 4 نحوه چاپ وضعیت به‌روزرسانی مراجع را کنترل می‌کند\&. مقادیر معتبر عبارتند از \fBfull\fR و \fBcompact\fR\&. مقدار پیش‌فرض \fBfull\fR است\&. برای جزئیات به بخش OUTPUT در \fBgit-fetch\fR(1) مراجعه کنید\&. .RE .PP \fBfetch\&.negotiationAlgorithm\fR .RS 4 نحوه ارسال اطلاعات مربوط به کامیت‌ها در مخزن محلی را هنگام مذاکره بر سر محتویات فایل بسته ارسالی توسط سرور کنترل می‌کند\&. روی \fBconsecutive\fR تنظیم کنید تا از الگوریتمی استفاده شود که کامیت‌های متوالی را پیمایش کرده و تک‌تک آن‌ها را بررسی می‌کند\&. روی \fBskipping\fR تنظیم کنید تا از الگوریتمی استفاده شود که کامیت‌ها را با هدف همگرایی سریع‌تر نادیده می‌گیرد، اما ممکن است منجر به فایل بسته‌ای بزرگ‌تر از حد نیاز شود؛ یا روی \fBnoop\fR تنظیم کنید تا اصلاً هیچ اطلاعاتی ارسال نشود، که تقریباً به طور قطع منجر به فایل بسته‌ای بزرگ‌تر از حد نیاز خواهد شد، اما مرحله مذاکره را دور می‌زند\&. روی \fBdefault\fR تنظیم کنید تا تنظیمات اعمال‌شده قبلی لغو شده و از رفتار پیش‌فرض استفاده گردد\&. پیش‌فرض معمولاً \fBconsecutive\fR است، اما اگر \fBfeature\&.experimental\fR برابر \fBtrue\fR باشد، آنگاه پیش‌فرض \fBskipping\fR خواهد بود\&. مقادیر ناشناخته باعث خطای \fBgit\fR \fBfetch\fR می‌شوند\&. .sp همچنین گزینه‌های \fB\-\-negotiate\-only\fR و \fB\-\-negotiation\-restrict\fR در \fBgit-fetch\fR(1) را ببینید\&. .RE .PP \fBfetch\&.showForcedUpdates\fR .RS 4 روی \fBfalse\fR تنظیم کنید تا \fB\-\-no\-show\-forced\-updates\fR در دستورات \fBgit-fetch\fR(1) و \fBgit-pull\fR(1) فعال شود\&. پیش‌فرض \fBtrue\fR است\&. .RE .PP \fBfetch\&.parallel\fR .RS 4 حداکثر تعداد عملیات واکشی را که می‌توانند به طور هم‌زمان و موازی اجرا شوند مشخص می‌کند (زیرماژول‌ها، یا ریموت‌ها هنگامی که گزینه \fB\-\-multiple\fR در \fBgit-fetch\fR(1) اعمال شده باشد)\&. .sp مقدار 0 یک پیش‌فرض معقول تعیین می‌کند\&. اگر تنظیم نشود، پیش‌فرض 1 است\&. .sp برای زیرماژول‌ها، این تنظیم را می‌توان با استفاده از تنظیم پیکربندی \fBsubmodule\&.fetchJobs\fR لغو کرد\&. .RE .PP \fBfetch\&.writeCommitGraph\fR .RS 4 روی true تنظیم کنید تا پس از هر دستور \fBgit\fR \fBfetch\fR که یک فایل بسته را از ریموت دانلود می‌کند، یک commit\-graph نوشته شود\&. با استفاده از گزینه \fB\-\-split\fR، بیشتر اجراها یک فایل commit\-graph بسیار کوچک روی فایل(های) commit\-graph موجود ایجاد می‌کنند\&. گاهی اوقات این فایل‌ها ادغام می‌شوند و نوشتن ممکن است طولانی‌تر شود\&. داشتن یک فایل commit\-graph به‌روز به عملکرد بسیاری از دستورات Git کمک می‌کند، از جمله \fBgit\fR \fBmerge\-base\fR، \fBgit\fR \fBpush\fR \fB\-f\fR، و \fBgit\fR \fBlog\fR \fB\-\-graph\fR\&. پیش‌فرض \fBfalse\fR است\&. .RE .PP \fBfetch\&.bundleURI\fR .RS 4 این مقدار یک URI را برای دانلود داده‌های شیء Git از یک bundle URI قبل از انجام واکشی افزایشی از سرور اصلی Git ذخیره می‌کند\&. این شبیه به نحوه رفتار گزینه \fB\-\-bundle\-uri\fR در \fBgit-clone\fR(1) است\&. دستور \fBgit\fR \fBclone\fR \fB\-\-bundle\-uri\fR در صورتی که bundle URI ارائه‌شده شامل فهرست بسته‌ای باشد که برای واکشی‌های افزایشی سازمان‌یافته است، مقدار \fBfetch\&.bundleURI\fR را تنظیم می‌کند\&. .sp اگر این مقدار را تغییر دهید و مخزن شما دارای مقدار \fBfetch\&.bundleCreationToken\fR باشد، پیش از واکشی از bundle URI جدید، آن مقدار \fBfetch\&.bundleCreationToken\fR را حذف کنید\&. .RE .PP \fBfetch\&.bundleCreationToken\fR .RS 4 هنگام استفاده از \fBfetch\&.bundleURI\fR برای واکشی افزایشی از یک فهرست بسته که از روش اکتشافی «\fBcreationToken\fR» استفاده می‌کند، این مقدار پیکربندی حداکثر مقدار \fBcreationToken\fR بسته‌های دانلودشده را ذخیره می‌کند\&. این مقدار برای جلوگیری از دانلود بسته‌ها در آینده استفاده می‌شود اگر \fBcreationToken\fR اعلام‌شده اکیداً بزرگ‌تر از این مقدار نباشد\&. .sp مقادیر توکن ایجاد توسط ارائه‌دهنده‌ای که bundle URI خاص را ارائه می‌دهد انتخاب می‌شوند\&. اگر URI را در \fBfetch\&.bundleURI\fR تغییر دادید، حتماً پیش از واکشی مقدار \fBfetch\&.bundleCreationToken\fR را حذف کنید\&. .RE .PP filter\&.\&.clean .RS 4 دستوری که برای تبدیل محتوای یک فایل درخت کاری به یک blob در هنگام ثبت (checkin) استفاده می‌شود\&. برای جزئیات به \fBgitattributes\fR(5) مراجعه کنید\&. .RE .PP filter\&.\&.smudge .RS 4 دستوری که برای تبدیل محتوای یک شیء blob به یک فایل درخت کاری در هنگام وارسی (checkout) استفاده می‌شود\&. برای جزئیات به \fBgitattributes\fR(5) مراجعه کنید\&. .RE .PP format\&.attach .RS 4 پیوست‌های multipart/mixed را به عنوان پیش‌فرض برای \fIformat\-patch\fR فعال می‌کند\&. مقدار همچنین می‌تواند یک رشته درون گیومه باشد که پیوست‌ها را به عنوان پیش‌فرض فعال کرده و آن مقدار را به عنوان مرز (boundary) تنظیم کند\&. گزینه \-\-attach را در \fBgit-format-patch\fR(1) ببینید\&. برای باطل کردن یک مقدار قبلی، آن را روی رشته خالی تنظیم کنید\&. .RE .PP format\&.from .RS 4 مقدار پیش‌فرض را برای گزینه \fB\-\-from\fR در format\-patch فراهم می‌کند\&. یک مقدار بولی، یا یک نام و نشانی ایمیل را می‌پذیرد\&. اگر false باشد، format\-patch به صورت پیش‌فرض روی \fB\-\-no\-from\fR قرار می‌گیرد و از نویسندگان کامیت مستقیماً در فیلد «From:» ایمیل‌های وصله استفاده می‌کند\&. اگر true باشد، format\-patch به صورت پیش‌فرض روی \fB\-\-from\fR قرار می‌گیرد و از هویت کامیت‌کننده شما در فیلد «From:» ایمیل‌های وصله استفاده می‌نماید و در صورت تفاوت، یک فیلد «From:» در بدنه ایمیل وصله درج می‌کند\&. اگر روی یک مقدار غیربولی تنظیم شود، format\-patch از آن مقدار به جای هویت کامیت‌کننده شما استفاده می‌کند\&. پیش‌فرض false است\&. .RE .PP format\&.forceInBodyFrom .RS 4 مقدار پیش‌فرض را برای گزینه \fB\-\-\fR[\fBno\-\fR]\fBforce\-in\-body\-from\fR در format\-patch فراهم می‌کند\&. پیش‌فرض false است\&. .RE .PP format\&.numbered .RS 4 یک مقدار بولی که می‌تواند شماره‌های ترتیبی را در موضوعات وصله فعال یا غیرفعال کند\&. پیش‌فرض آن «auto» است که فقط در صورت وجود بیش از یک وصله آن را فعال می‌کند\&. با تنظیم آن روی «true» یا «false» می‌توان آن را برای همه پیام‌ها فعال یا غیرفعال کرد\&. گزینه \-\-numbered در \fBgit-format-patch\fR(1) را ببینید\&. .RE .PP format\&.headers .RS 4 سرآیندهای ایمیل اضافی برای گنجاندن در وصله‌ای که قرار است با ایمیل ارسال شود\&. به \fBgit-format-patch\fR(1) مراجعه کنید\&. .RE .PP format\&.to, format\&.cc .RS 4 گیرندگان اضافی برای گنجاندن در وصله‌ای که قرار است با ایمیل ارسال شود\&. گزینه‌های \-\-to و \-\-cc را در \fBgit-format-patch\fR(1) ببینید\&. .RE .PP format\&.subjectPrefix .RS 4 پیش‌فرض برای format\-patch خروجی دادن فایل‌ها با پیشوند موضوع \fI[PATCH]\fR است\&. از این متغیر برای تغییر آن پیشوند استفاده کنید\&. .RE .PP format\&.coverFromDescription .RS 4 حالت پیش‌فرض برای format\-patch جهت تعیین اینکه کدام بخش‌های نامه پوششی با استفاده از توضیحات شاخه پر می‌شوند\&. گزینه \fB\-\-cover\-from\-description\fR در \fBgit-format-patch\fR(1) را ببینید\&. .RE .PP format\&.signature .RS 4 پیش‌فرض برای format\-patch خروجی دادن امضایی حاوی شماره نسخه Git است\&. از این متغیر برای تغییر آن پیش‌فرض استفاده کنید\&. این متغیر را روی رشته خالی ("") تنظیم کنید تا از تولید امضا جلوگیری شود\&. .RE .PP format\&.signatureFile .RS 4 دقیقاً مانند format\&.signature کار می‌کند مگر آنکه محتویات فایل مشخص‌شده توسط این متغیر به عنوان امضا استفاده خواهد شد\&. .RE .PP format\&.suffix .RS 4 پیش‌فرض برای format\-patch خروجی دادن فایل‌ها با پسوند \fB\&.patch\fR است\&. از این متغیر برای تغییر آن پسوند استفاده کنید (در صورت تمایل به داشتن نقطه، حتماً آن را بگنجانید)\&. .RE .PP format\&.encodeEmailHeaders .RS 4 سرآیندهای ایمیل دارای نویسه‌های غیر ASCII را با «Q\-encoding» (توصیف‌شده در RFC 2047) برای ارسال از طریق ایمیل کدگذاری می‌کند\&. پیش‌فرض true است\&. .RE .PP format\&.pretty .RS 4 قالب زیبای پیش‌فرض برای دستورات log/show/whatchanged\&. به \fBgit-log\fR(1)، \fBgit-show\fR(1)، \fBgit-whatchanged\fR(1) مراجعه کنید\&. .RE .PP format\&.thread .RS 4 سبک پیش‌فرض رشته‌بندی (threading) برای \fIgit format\-patch\fR\&. می‌تواند یک مقدار بولی، یا \fBshallow\fR یا \fBdeep\fR باشد\&. رشته‌بندی \fBshallow\fR کاری می‌کند که هر ایمیل پاسخی به سرِ مجموعه (head of the series) باشد، که در آن سرِ مجموعه به ترتیب از نامه روی جلد (cover letter)، \fB\-\-in\-reply\-to\fR و اولین ایمیل وصله انتخاب می‌شود\&. رشته‌بندی \fBdeep\fR هر ایمیل را به پاسخی برای ایمیل قبلی تبدیل می‌کند\&. مقدار بولی درست (true) معادل \fBshallow\fR است و مقدار نادرست (false) رشته‌بندی را غیرفعال می‌کند\&. .RE .PP format\&.signOff .RS 4 یک مقدار بولی که به شما امکان می‌دهد گزینه \fB\-s/\-\-signoff\fR در format\-patch را به‌طور پیش‌فرض فعال کنید\&. \fBتوجه:\fR افزودن دنباله (trailer) \fBSigned\-off\-by\fR به یک وصله باید اقدامی آگاهانه باشد و بدین معناست که شما گواهی می‌دهید حق ارسال این اثر را تحت همان مجوز متن‌باز دارید\&. لطفاً برای توضیحات بیشتر به سند \fISubmittingPatches\fR مراجعه کنید\&. .RE .PP format\&.coverLetter .RS 4 یک مقدار بولی که کنترل می‌کند آیا هنگام فراخوانی format\-patch نامه روی جلد (cover\-letter) ایجاد شود یا خیر؛ علاوه بر این می‌تواند روی "auto" تنظیم شود تا تنها زمانی که بیش از یک وصله وجود دارد نامه روی جلد ایجاد گردد\&. پیش‌فرض false است\&. .RE .PP format\&.commitListFormat .RS 4 هنگامی که گزینه \fB\-\-commit\-list\-format\fR داده نشده باشد، \fBformat\-patch\fR از مقدار این متغیر برای تصمیم‌گیری در مورد نحوه قالب‌بندی مدخل هر کامیت استفاده می‌کند\&. پیش‌فرض \fBshortlog\fR است\&. .RE .PP format\&.outputDirectory .RS 4 یک پوشه سفارشی را برای ذخیره فایل‌های خروجی به جای پوشه کاری فعلی تنظیم می‌کند\&. تمام بخش‌های مسیر پوشه در صورت نیاز ایجاد خواهند شد\&. .RE .PP format\&.filenameMaxLength .RS 4 حداکثر طول نام فایل‌های خروجی تولیدشده توسط دستور \fBformat\-patch\fR؛ پیش‌فرض 64 است\&. می‌تواند با گزینه خط فرمان \fB\-\-filename\-max\-length=\fR\fI\fR بازنویسی (override) شود\&. .RE .PP format\&.useAutoBase .RS 4 یک مقدار بولی که به شما امکان می‌دهد گزینه \fB\-\-base=auto\fR در format\-patch را به‌طور پیش‌فرض فعال کنید\&. همچنین می‌تواند روی "whenAble" تنظیم شود تا در صورت در دسترس بودن یک پایه (base) مناسب، \fB\-\-base=auto\fR فعال گردد، اما در غیر این صورت بدون متوقف شدن و خطای فرآیند، از افزودن اطلاعات پایه صرف‌نظر شود\&. .RE .PP format\&.notes .RS 4 مقدار پیش‌فرض گزینه \fB\-\-notes\fR را برای format\-patch فراهم می‌کند\&. یک مقدار بولی یا یک مرجع (ref) را می‌پذیرد که مشخص می‌کند یادداشت‌ها از کجا دریافت شوند\&. اگر false باشد، format\-patch به‌طور پیش‌فرض از \fB\-\-no\-notes\fR استفاده می‌کند\&. اگر true باشد، format\-patch به‌طور پیش‌فرض از \fB\-\-notes\fR استفاده می‌کند\&. اگر روی یک مقدار غیربولی تنظیم شود، format\-patch به‌طور پیش‌فرض از \fB\-\-notes=\fR\fI\fR استفاده می‌کند، که در آن \fBref\fR همان مقدار غیربولی است\&. پیش‌فرض false است\&. .sp اگر کسی بخواهد از مرجع \fBrefs/notes/true\fR استفاده کند، لطفاً در عوض از همان عبارت دقیق استفاده کند\&. .sp این پیکربندی می‌تواند چندین بار مشخص شود تا امکان گنجاندن چند مرجع یادداشت وجود داشته باشد\&. در این حالت، رفتاری مشابه ارسال چندین گزینه \fB\-\-\fR[\fBno\-\fR]\fBnotes\fR[\fB=\fR] خواهد داشت\&. به این معنا که مقدار \fBtrue\fR یادداشت‌های پیش‌فرض را نشان می‌دهد، مقدار \fI\fR همچنین یادداشت‌های حاصل از آن مرجع یادداشت را نشان می‌دهد و مقدار \fBfalse\fR پیکربندی‌های قبلی را لغو کرده و یادداشتی نشان نمی‌دهد\&. .sp برای مثال، .sp .if n \{\ .RS 4 .\} .nf [format] notes = true notes = foo notes = false notes = bar .fi .if n \{\ .RE .\} .sp تنها یادداشت‌های مربوط به \fBrefs/notes/bar\fR را نشان خواهد داد\&. .RE .PP format\&.mboxrd .RS 4 یک مقدار بولی که فرمت مطمئن "mboxrd" را هنگام استفاده از \fB\-\-stdout\fR برای اسکیپ کردن خطوط "^>+From " فعال می‌کند\&. .RE .PP format\&.noprefix .RS 4 در صورت تنظیم، هیچ پیشوند مبدأ یا مقصدی در وصله‌ها نشان داده نمی‌شود\&. این معادل گزینه \fBdiff\&.noprefix\fR است که توسط \fBgit\fR \fBdiff\fR استفاده می‌شود (اما توسط \fBformat\-patch\fR رعایت نمی‌گردد)\&. توجه داشته باشید که با تنظیم این متغیر، دریافت‌کننده وصله‌های تولیدی شما باید آن‌ها را با استفاده از گزینه \fB\-p0\fR اعمال کند\&. .RE .PP fsck\&. .RS 4 در طول fsck، ممکن است git مشکلاتی را در داده‌های قدیمی (legacy) پیدا کند که توسط نسخه‌های فعلی git تولید نمی‌شوند و در صورت تنظیم بودن \fBtransfer\&.fsckObjects\fR روی شبکه ارسال نمی‌شدند\&. این ویژگی برای پشتیبانی از کار با مخازن قدیمی حاوی چنین داده‌هایی در نظر گرفته شده است\&. .sp تنظیم \fBfsck\&.\fR\fI\fR توسط \fBgit-fsck\fR(1) خوانده می‌شود، اما برای پذیرش پوش‌های حاوی چنین داده‌هایی به جای آن \fBreceive\&.fsck\&.\fR\fI\fR را تنظیم کنید، یا برای شبیه‌سازی (clone) یا واکشی (fetch) آن، \fBfetch\&.fsck\&.\fR\fI\fR را تنظیم نمایید\&. .sp بقیه مستندات برای اختصار در مورد \fBfsck\&.*\fR بحث می‌کند، اما همین موضوع در مورد متغیرهای متناظر \fBreceive\&.fsck\&.*\fR و \fBfetch\&.fsck\&.*\fR نیز صدق می‌کند\&. .sp برخلاف متغیرهایی مانند \fBcolor\&.ui\fR و \fBcore\&.editor\fR، متغیرهای \fBreceive\&.fsck\&.\fR\fI\fR و \fBfetch\&.fsck\&.\fR\fI\fR در صورت عدم تنظیم، به پیکربندی \fBfsck\&.\fR\fI\fR رجوع نخواهند کرد (fall back نمی‌کنند)\&. برای پیکربندی یکنواخت تنظیمات fsck در شرایط مختلف، هر سه آن‌ها باید روی مقادیر یکسان تنظیم شوند\&. .sp هنگامی که \fBfsck\&.\fR\fI\fR تنظیم شود، می‌توان با پیکربندی تنظیم \fBfsck\&.\fR\fI\fR خطاها را به هشدار و برعکس تبدیل کرد، جایی که \fI\fR همان شناسه پیام fsck است و مقدار یکی از \fBerror\fR، \fBwarn\fR یا \fBignore\fR می‌باشد\&. برای راحتی، fsck پیشوند خطا/هشدار را با شناسه پیام مشخص می‌کند، به عنوان مثال "missingEmail: invalid author/committer line \- missing email" به این معنی است که تنظیم \fBfsck\&.missingEmail\fR \fB=\fR \fBignore\fR آن مشکل را پنهان خواهد کرد\&. .sp به‌طور کلی، بهتر است اشیاء مشکل‌دار موجود را با \fBfsck\&.skipList\fR فهرست کنید، به جای آنکه نوع خرابی‌های مشترک این اشیاء را برای نادیده گرفته شدن فهرست نمایید؛ چرا که انجام مورد دوم اجازه می‌دهد نمونه‌های جدید همان خرابی‌ها ناشناخته باقی بمانند\&. .sp تنظیم مقدار ناشناخته برای \fBfsck\&.\fR\fI\fR باعث متوقف شدن و خروج غیرعادی fsck می‌شود، اما انجام همین کار برای \fBreceive\&.fsck\&.\fR\fI\fR و \fBfetch\&.fsck\&.\fR\fI\fR تنها باعث صدور هشدار توسط git خواهد شد\&. .sp برای مقادیر پشتیبانی‌شده \fI\fR، بخش \fBFsck\fR \fBMessages\fR در \fBgit-fsck\fR(1) را ببینید\&. .RE .PP fsck\&.skipList .RS 4 مسیر یک فهرست از نام‌های اشیاء (یعنی یک SHA\-1 کامل و بدون اختصار در هر خط) که مشخص شده به‌گونه‌ای غیرمهلک خراب هستند و باید نادیده گرفته شوند\&. در نسخه‌های Git 2\&.20 و جدیدتر، توضیحات (\fI#\fR)، خطوط خالی، و هرگونه فاصله خالی ابتدایی و انتهایی نادیده گرفته می‌شوند\&. در نسخه‌های قدیمی‌تر، هر چیزی جز یک SHA\-1 در هر خط با خطا مواجه خواهد شد\&. .sp این ویژگی زمانی مفید است که یک پروژه جاافتاده علی‌رغم کامیت‌های اولیه‌ای که حاوی خطاهای قابل چشم‌پوشی هستند (مانند آدرس‌های ایمیل نامعتبر ثبت‌کننده کامیت)، باید پذیرفته شود\&. توجه: اشیاء فاسد و آسیب‌دیده (corrupt objects) را نمی‌توان با این تنظیم نادیده گرفت\&. .sp مشابه \fBfsck\&.\fR\fI\fR، این متغیر دارای انواع متناظر \fBreceive\&.fsck\&.skipList\fR و \fBfetch\&.fsck\&.skipList\fR است\&. .sp برخلاف متغیرهایی مانند \fBcolor\&.ui\fR و \fBcore\&.editor\fR، متغیرهای \fBreceive\&.fsck\&.skipList\fR و \fBfetch\&.fsck\&.skipList\fR در صورت عدم تنظیم، به پیکربندی \fBfsck\&.skipList\fR رجوع نمی‌کنند\&. برای پیکربندی یکنواخت تنظیمات fsck در شرایط مختلف، هر سه آن‌ها باید روی مقادیر یکسان تنظیم شوند\&. .sp نسخه‌های قدیمی‌تر Git (قبل از 2\&.20) مستند کرده بودند که فهرست نام‌های اشیاء باید مرتب شده باشد\&. این موضوع هرگز یک الزام نبود؛ نام‌های اشیاء می‌توانستند به هر ترتیبی ظاهر شوند، اما هنگام خواندن فهرست، برای اهداف پیاده‌سازی جستجوی دودویی داخلی که می‌توانست با فهرست از قبل مرتب‌شده کار کمتری انجام دهد، مرتب بودن فهرست ردیابی می‌شد\&. مگر اینکه فهرستی بسیار عظیم داشتید، دلیلی برای مرتب‌سازی اولیه فهرست وجود نداشت\&. پس از نسخه Git 2\&.20 پیاده‌سازی درهم‌سازی (hash) در عوض استفاده می‌شود، بنابراین اکنون دلیلی برای مرتب‌سازی اولیه فهرست وجود ندارد\&. .RE .PP fsmonitor\&.allowRemote .RS 4 به‌طور پیش‌فرض، دیمن fsmonitor از کار با مخازن متصل‌شده از طریق شبکه (network\-mounted) خودداری می‌کند\&. تنظیم \fBfsmonitor\&.allowRemote\fR روی \fBtrue\fR این رفتار را بازنویسی می‌کند\&. تنها زمانی رعایت می‌شود که \fBcore\&.fsmonitor\fR روی \fBtrue\fR تنظیم شده باشد\&. .RE .PP fsmonitor\&.socketDir .RS 4 این گزینه مخصوص Mac OS و Linux در صورت تنظیم، پوشه‌ای را مشخص می‌کند که سوکت دامنه یونیکس (Unix domain socket) مورد استفاده برای ارتباط بین دیمن fsmonitor و دستورات مختلف Git در آن ایجاد شود\&. این پوشه باید روی یک سیستم‌فایل بومی (native) قرار داشته باشد\&. تنها زمانی رعایت می‌شود که \fBcore\&.fsmonitor\fR روی \fBtrue\fR تنظیم شده باشد\&. .RE .PP gc\&.aggressiveDepth .RS 4 پارامتر عمق (depth) مورد استفاده در الگوریتم فشرده‌سازی دلتا که توسط \fIgit gc \-\-aggressive\fR به کار می‌رود\&. مقدار پیش‌فرض آن 50 است، که پیش‌فرض گزینه \fB\-\-depth\fR در زمان عدم استفاده از \fB\-\-aggressive\fR می‌باشد\&. .sp برای جزئیات بیشتر مستندات مربوط به گزینه \fB\-\-depth\fR در \fBgit-repack\fR(1) را ببینید\&. .RE .PP gc\&.aggressiveWindow .RS 4 پارامتر اندازه پنجره مورد استفاده در الگوریتم فشرده‌سازی دلتا که توسط \fIgit gc \-\-aggressive\fR به کار می‌رود\&. مقدار پیش‌فرض آن 250 است، که اندازه پنجره‌ای بسیار تهاجمی‌تر از مقدار پیش‌فرض 10 برای \fB\-\-window\fR است\&. .sp برای جزئیات بیشتر مستندات مربوط به گزینه \fB\-\-window\fR در \fBgit-repack\fR(1) را ببینید\&. .RE .PP gc\&.auto .RS 4 هنگامی که تقریباً بیش از این تعداد شیء مجزا (loose objects) در مخزن وجود داشته باشد، \fBgit\fR \fBgc\fR \fB\-\-auto\fR آن‌ها را بسته‌بندی (pack) می‌کند\&. برخی دستورات سطح بالا (Porcelain) از این دستور برای انجام گه‌گاه جمع‌آوری زباله سبک استفاده می‌کنند\&. مقدار پیش‌فرض 6700 است\&. .sp تنظیم این مقدار روی 0 نه تنها بسته‌بندی خودکار بر اساس تعداد اشیاء مجزا را غیرفعال می‌کند، بلکه هر روش شهودی دیگری را نیز که \fBgit\fR \fBgc\fR \fB\-\-auto\fR در غیر این صورت برای تشخیص وجود کار انجام‌دادنی استفاده می‌کرد (مانند \fBgc\&.autoPackLimit\fR)، غیرفعال می‌سازد\&. .RE .PP gc\&.autoPackLimit .RS 4 هنگامی که بیش از این تعداد بسته وجود داشته باشد که با فایل \fB*\&.keep\fR در مخزن علامت‌گذاری نشده‌اند، \fBgit\fR \fBgc\fR \fB\-\-auto\fR آن‌ها را در یک بسته بزرگ‌تر تجمیع می‌کند\&. مقدار پیش‌فرض 50 است\&. تنظیم آن روی 0 این قابلیت را غیرفعال می‌کند\&. تنظیم \fBgc\&.auto\fR روی 0 نیز این را غیرفعال خواهد کرد\&. .sp متغیر پیکربندی \fBgc\&.bigPackThreshold\fR در زیر را ببینید\&. در صورت استفاده، بر نحوه عملکرد محدودیت بسته‌بندی خودکار تأثیر می‌گذارد\&. .RE .PP gc\&.autoDetach .RS 4 کاری می‌کند که \fBgit\fR \fBgc\fR \fB\-\-auto\fR در صورت پشتیبانی سیستم، بلافاصله بازگردد و در پس‌زمینه اجرا شود\&. پیش‌فرض true است\&. این متغیر پیکربندی به عنوان جایگزین پشتیبان در صورت تنظیم نبودن \fBmaintenance\&.autoDetach\fR عمل می‌کند\&. .RE .PP gc\&.bigPackThreshold .RS 4 اگر غیرصفر باشد، هنگام اجرای \fBgit\fR \fBgc\fR تمام بسته‌های غیرکرافتی (non\-cruft) بزرگ‌تر از این حد نگه‌داشته می‌شوند\&. این بسیار شبیه به \fB\-\-keep\-largest\-pack\fR است با این تفاوت که تمام بسته‌های غیرکرافتی که به این حد آستانه می‌رسند نگه‌داشته می‌شوند، نه فقط بزرگ‌ترین بسته\&. پیش‌فرض صفر است\&. پسوندهای رایج واحد \fIk\fR، \fIm\fR یا \fIg\fR پشتیبانی می‌شوند\&. .sp توجه داشته باشید که اگر تعداد بسته‌های نگه‌داشته‌شده بیش از gc\&.autoPackLimit باشد، این متغیر پیکربندی نادیده گرفته می‌شود و تمام بسته‌ها به جز بسته پایه دوباره بسته‌بندی (repack) خواهند شد\&. پس از این، تعداد بسته‌ها باید به زیر gc\&.autoPackLimit برسد و gc\&.bigPackThreshold دوباره رعایت شود\&. .sp اگر مقدار حافظه تخمینی برای اجرای روان \fBgit\fR \fBrepack\fR در دسترس نباشد و \fBgc\&.bigPackThreshold\fR تنظیم نشده باشد، بزرگ‌ترین بسته نیز مستثنی خواهد شد (این معادل اجرای \fBgit\fR \fBgc\fR با \fB\-\-keep\-largest\-pack\fR است)\&. .RE .PP gc\&.writeCommitGraph .RS 4 اگر true باشد، هنگام اجرای \fBgit-gc\fR(1) فرآیند gc فایل commit\-graph را بازنویسی خواهد کرد\&. هنگام استفاده از \fBgit\fR \fBgc\fR \fB\-\-auto\fR، در صورت نیاز به خانه‌تکانی و نگهداری (housekeeping)، نمودار کامیت به‌روزرسانی خواهد شد\&. پیش‌فرض true است\&. برای جزئیات به \fBgit-commit-graph\fR(1) مراجعه کنید\&. .RE .PP gc\&.logExpiry .RS 4 اگر فایل gc\&.log وجود داشته باشد، \fBgit\fR \fBgc\fR \fB\-\-auto\fR به جای اجرا، محتوای آن را چاپ کرده و با وضعیت صفر خارج می‌شود، مگر اینکه عمر آن فایل بیشتر از \fIgc\&.logExpiry\fR باشد\&. پیش‌فرض "1\&.day" است\&. برای روش‌های بیشتر تعیین مقدار آن، به \fBgc\&.pruneExpire\fR مراجعه کنید\&. .RE .PP gc\&.packRefs .RS 4 اجرای \fBgit\fR \fBpack\-refs\fR در یک مخزن، آن را برای نسخه‌های Git قبل از 1\&.5\&.1\&.2 روی پروتکل‌های انتقال ساده (dumb transports) مانند HTTP غیرقابل کلون می‌کند\&. این متغیر تعیین می‌کند که آیا \fIgit gc\fR دستور \fBgit\fR \fBpack\-refs\fR را اجرا کند یا خیر\&. می‌تواند روی \fBnotbare\fR تنظیم شود تا در تمام مخازن غیرلخت (non\-bare) فعال گردد یا می‌تواند روی یک مقدار بولی تنظیم شود\&. پیش‌فرض \fBtrue\fR است\&. .RE .PP gc\&.cruftPacks .RS 4 ذخیره اشیاء غیرقابل‌دسترس در یک بسته کرافت (cruft pack؛ نگاه کنید به \fBgit-repack\fR(1)) به جای اشیاء مجزا (loose objects)\&. پیش‌فرض \fBtrue\fR است\&. .RE .PP gc\&.maxCruftSize .RS 4 محدود کردن اندازه بسته‌های کرافت جدید هنگام بسته‌بندی مجدد\&. در صورت تعیین هم‌زمان با \fB\-\-max\-cruft\-size\fR، گزینه خط فرمان اولویت دارد\&. گزینه \fB\-\-max\-cruft\-size\fR در \fBgit-repack\fR(1) را ببینید\&. .RE .PP gc\&.pruneExpire .RS 4 هنگامی که \fIgit gc\fR اجرا می‌شود، دستور \fIprune \-\-expire 2\&.weeks\&.ago\fR (و در صورت استفاده از بسته‌های کرافت از طریق \fBgc\&.cruftPacks\fR یا \fB\-\-cruft\fR، دستور \fIrepack \-\-cruft \-\-cruft\-expiration 2\&.weeks\&.ago\fR) را فراخوانی می‌کند\&. مهلت مقرر (grace period) را با این متغیر پیکربندی تغییر دهید\&. مقدار "now" می‌تواند برای غیرفعال کردن این مهلت و پاک‌سازی فوری اشیاء غیرقابل‌دسترس استفاده شود، یا "never" می‌تواند برای متوقف کردن کامل پاک‌سازی استفاده گردد\&. این ویژگی به جلوگیری از خرابی داده‌ها در زمانی که \fIgit gc\fR هم‌زمان با فرآیند دیگری در حال نوشتن روی مخزن اجرا می‌شود کمک می‌کند؛ بخش "NOTES" در \fBgit-gc\fR(1) را ببینید\&. .RE .PP gc\&.worktreePruneExpire .RS 4 هنگامی که \fIgit gc\fR اجرا می‌شود، دستور \fIgit worktree prune \-\-expire 3\&.months\&.ago\fR را فراخوانی می‌کند\&. این متغیر پیکربندی می‌تواند برای تعیین مهلت مقرر متفاوتی استفاده شود\&. مقدار "now" ممکن است برای غیرفعال کردن مهلت مقرر و هرس فوری \fB$GIT_DIR/worktrees\fR استفاده شود، یا "never" برای متوقف کردن پاک‌سازی به کار رود\&. .RE .PP gc\&.reflogExpire, gc\&.\&.reflogExpire .RS 4 دستور \fIgit reflog expire\fR مدخل‌های رف‌لاگ (reflog) قدیمی‌تر از این زمان را حذف می‌کند؛ پیش‌فرض 90 روز است\&. مقدار "now" تمام مدخل‌ها را فوراً منقضی می‌کند، و "never" انقضا را به‌طور کامل متوقف می‌سازد\&. با قرار دادن "" (مثلاً "refs/stash") در وسط، این تنظیم تنها بر مراجعی که با مطابقت دارند اعمال می‌شود\&. .RE .PP gc\&.reflogExpireUnreachable, gc\&.\&.reflogExpireUnreachable .RS 4 دستور \fIgit reflog expire\fR مدخل‌های رف‌لاگ قدیمی‌تر از این زمان را که از نوک (tip) فعلی قابل دسترس نیستند حذف می‌کند؛ پیش‌فرض 30 روز است\&. مقدار "now" تمام مدخل‌ها را فوراً منقضی می‌کند، و "never" انقضا را به‌طور کامل متوقف می‌سازد\&. با قرار دادن "" (مثلاً "refs/stash") در وسط، تنظیم تنها بر مراجعی که با مطابقت دارند اعمال می‌شود\&. .sp این نوع مدخل‌ها معمولاً در نتیجه استفاده از \fBgit\fR \fBcommit\fR \fB\-\-amend\fR یا \fBgit\fR \fBrebase\fR ایجاد می‌شوند و کامیت‌های قبل از رخ دادن اصلاح (amend) یا ری‌بیس هستند\&. از آنجا که این تغییرات بخشی از پروژه فعلی نیستند، بیشتر کاربران تمایل دارند آن‌ها را زودتر منقضی کنند، به همین دلیل پیش‌فرض تهاجمی‌تر از \fBgc\&.reflogExpire\fR است\&. .RE .PP gc\&.recentObjectsHook .RS 4 هنگام بررسی اینکه آیا یک شیء حذف شود یا خیر (چه هنگام تولید یک بسته کرافت یا ذخیره اشیاء غیرقابل‌دسترس به‌صورت مجزا)، از شل برای اجرای دستور(های) مشخص‌شده استفاده می‌کند\&. خروجی آن‌ها به عنوان شناسه‌های اشیائی تفسیر می‌شود که Git صرف‌نظر از سن واقعی‌شان، آن‌ها را به عنوان "اخیر" (recent) در نظر می‌گیرد\&. با در نظر گرفتن mtime آن‌ها به عنوان "اکنون"، هر شیء (و نوادگان آن) ذکرشده در خروجی، صرف‌نظر از سن واقعی‌شان نگه‌داشته خواهند شد\&. .sp خروجی باید دقیقاً شامل یک شناسه هگزادسیمال شیء در هر خط باشد و نه چیز دیگر\&. اشیائی که در مخزن یافت نشوند نادیده گرفته می‌شوند\&. چندین قلاب (hook) پشتیبانی می‌شوند، اما همگی باید با موفقیت خارج شوند، در غیر این صورت عملیات (تولید بسته کرافت یا باز کردن بسته‌های اشیاء غیرقابل‌دسترس) متوقف خواهد شد\&. .RE .PP gc\&.repackFilter .RS 4 هنگام بسته‌بندی مجدد (repack)، از فیلتر مشخص‌شده برای انتقال اشیاء خاص به یک فایل بسته جداگانه استفاده می‌کند\&. گزینه \fB\-\-filter=\fR\fI\fR در \fBgit-repack\fR(1) را ببینید\&. .RE .PP gc\&.repackFilterTo .RS 4 هنگام بسته‌بندی مجدد و استفاده از یک فیلتر (نگاه کنید به \fBgc\&.repackFilter\fR)، مکان مشخص‌شده برای ایجاد فایل بسته‌ای که شامل اشیاء فیلترشده است استفاده خواهد شد\&. \fBهشدار:\fR مکان مشخص‌شده باید قابل دسترس باشد، برای مثال با استفاده از مکانیزم Git alternates، در غیر این صورت ممکن است مخزن توسط Git فاسد در نظر گرفته شود چرا که ممکن است نتواند به اشیاء موجود در آن فایل بسته دسترسی پیدا کند\&. گزینه \fB\-\-filter\-to=\fR\fI\fR در \fBgit-repack\fR(1) و بخش \fBobjects/info/alternates\fR از \fBgitrepository-layout\fR(5) را ببینید\&. .RE .PP gc\&.rerereResolved .RS 4 ثبت‌های ادغام با تعارضی که قبلاً حل کرده‌اید، هنگام اجرای \fIgit rerere gc\fR برای این تعداد روز نگه‌داری می‌شوند\&. همچنین می‌توانید از عبارات خواناتر برای انسان مانند "1\&.month\&.ago" و غیره استفاده کنید\&. پیش‌فرض 60 روز است\&. به \fBgit-rerere\fR(1) مراجعه کنید\&. .RE .PP gc\&.rerereUnresolved .RS 4 ثبت‌های ادغام با تعارضی که حل نکرده‌اید، هنگام اجرای \fIgit rerere gc\fR برای این تعداد روز نگه‌داری می‌شوند\&. همچنین می‌توانید از عبارات خواناتر برای انسان مانند "1\&.month\&.ago" و غیره استفاده کنید\&. پیش‌فرض 15 روز است\&. به \fBgit-rerere\fR(1) مراجعه کنید\&. .RE .PP gitcvs\&.commitMsgAnnotation .RS 4 این رشته را به انتهای هر پیام کامیت پیوست می‌کند\&. برای غیرفعال کردن این ویژگی، آن را روی رشته خالی تنظیم کنید\&. پیش‌فرض "via git\-CVS emulator" است\&. .RE .PP gitcvs\&.enabled .RS 4 مشخص می‌کند که آیا رابط سرور CVS برای این مخزن فعال است یا خیر\&. به \fBgit-cvsserver\fR(1) مراجعه کنید\&. .RE .PP gitcvs\&.logFile .RS 4 مسیر فایل لاگی که رابط کاربری سرور CVS در آن خب\&... موارد مختلف را لاگ می‌کند\&. به \fBgit-cvsserver\fR(1) مراجعه کنید\&. .RE .PP gitcvs\&.usecrlfattr .RS 4 اگر true باشد، سرور ویژگی‌های تبدیل پایان خط را برای فایل‌ها جستجو می‌کند تا حالت‌های \fB\-k\fR مورد استفاده را تعیین کند\&. اگر این مشخصه‌ها Git را وادار کنند فایلی را به عنوان متنی در نظر بگیرد، حالت \fB\-k\fR خالی رها می‌شود تا کلاینت‌های CVS با آن به عنوان متن رفتار کنند\&. اگر آن‌ها تبدیل متن را سرکوب کنند، فایل با حالت \fI\-kb\fR تنظیم می‌شود که هرگونه دستکاری خطوط جدید را که کلاینت ممکن است در غیر این صورت انجام دهد، سرکوب می‌کند\&. اگر مشخصه‌ها اجازه تعیین نوع فایل را ندهند، \fBgitcvs\&.allBinary\fR استفاده می‌شود\&. به \fBgitattributes\fR(5) مراجعه کنید\&. .RE .PP gitcvs\&.allBinary .RS 4 اگر \fBgitcvs\&.usecrlfattr\fR حالت صحیح \fI\-kb\fR را تعیین نکند، این متغیر به کار می‌رود\&. اگر true باشد، تمام فایل‌های تعیین‌تکلیف‌نشده در حالت \fI\-kb\fR به کلاینت ارسال می‌شوند\&. این کار باعث می‌شود کلاینت با آن‌ها به عنوان فایل‌های باینری رفتار کند، که هرگونه دستکاری خطوط جدید را سرکوب می‌کند\&. از طرف دیگر، اگر روی "guess" تنظیم شود، محتویات فایل برای تصمیم‌گیری در مورد باینری بودن آن بررسی می‌شود، مشابه \fBcore\&.autocrlf\fR\&. .RE .PP gitcvs\&.dbName .RS 4 پایگاه داده‌ای که توسط git\-cvsserver برای کش کردن اطلاعات بازبینی برگرفته از مخزن Git استفاده می‌شود\&. معنی دقیق به درایور پایگاه داده استفاده‌شده بستگی دارد؛ برای SQLite (که درایور پیش‌فرض است) این یک نام فایل است\&. از جایگزینی متغیرها پشتیبانی می‌کند (برای جزئیات به \fBgit-cvsserver\fR(1) مراجعه کنید)\&. نباید شامل نقطه‌ویرگول (;) باشد\&. پیش‌فرض: \fI%Ggitcvs\&.%m\&.sqlite\fR .RE .PP gitcvs\&.dbDriver .RS 4 درایور Perl DBI استفاده‌شده\&. در اینجا می‌توانید هر درایور موجود را برای این منظور مشخص کنید، اما ممکن است کار نکند\&. نرم‌افزار git\-cvsserver با \fIDBD::SQLite\fR آزمایش شده، گزارش شده که با \fIDBD::Pg\fR کار می‌کند، و گزارش شده که با \fIDBD::mysql\fR کار \fBنمی‌کند\fR\&. ویژگی آزمایشی\&. نباید شامل دو دونقطه (\fB:\fR) باشد\&. پیش‌فرض: \fISQLite\fR\&. به \fBgit-cvsserver\fR(1) مراجعه کنید\&. .RE .PP gitcvs\&.dbUser, gitcvs\&.dbPass .RS 4 کاربر و رمز عبور پایگاه داده\&. تنها در صورتی مفید است که \fBgitcvs\&.dbDriver\fR تنظیم شده باشد، زیرا SQLite مفهومی از کاربران و/یا رمزهای عبور پایگاه داده ندارد\&. \fIgitcvs\&.dbUser\fR از جایگزینی متغیرها پشتیبانی می‌کند (برای جزئیات به \fBgit-cvsserver\fR(1) مراجعه کنید)\&. .RE .PP gitcvs\&.dbTableNamePrefix .RS 4 پیشوند نام جداول پایگاه داده\&. به نام تمام جداول پایگاه داده مورد استفاده اضافه می‌شود و امکان استفاده از یک پایگاه داده واحد برای چندین مخزن را فراهم می‌کند\&. از جایگزینی متغیر پشتیبانی می‌کند (برای جزئیات به \fBgit-cvsserver\fR(1) مراجعه کنید)\&. هر کاراکتر غیرالفبایی با زیرخط (underscore) جایگزین خواهد شد\&. .RE .sp تمام متغیرهای gitcvs به جز \fBgitcvs\&.usecrlfattr\fR و \fBgitcvs\&.allBinary\fR را می‌توان به عنوان \fIgitcvs\&.\&.\fR نیز مشخص کرد (که در آن \fIaccess_method\fR یکی از مقادیر "ext" و "pserver" است) تا فقط برای روش دسترسی مشخص‌شده اعمال شوند\&. .PP gitweb\&.category, gitweb\&.description, gitweb\&.owner, gitweb\&.url .RS 4 برای توضیحات به \fBgitweb\fR(1) مراجعه کنید\&. .RE .PP gitweb\&.avatar, gitweb\&.blame, gitweb\&.grep, gitweb\&.highlight, gitweb\&.patches, gitweb\&.pickaxe, gitweb\&.remote_heads, gitweb\&.showSizes, gitweb\&.snapshot .RS 4 برای توضیحات به \fBgitweb.conf\fR(5) مراجعه کنید\&. .RE .PP gpg\&.program .RS 4 مسیر برنامه‌ای که باید هنگام ایجاد یا اعتبارسنجی امضای PGP به جای "\fBgpg\fR" استفاده شود\&. این برنامه باید از همان رابط خط فرمان GPG پشتیبانی کند، به این صورت که برای اعتبارسنجی یک امضای مجزا (detached signature)، دستور "\fBgpg\fR \fB\-\-verify\fR \fB$signature\fR \fB\-\fR <$file" اجرا می‌شود، و انتظار می‌رود برنامه با خروج با کد 0 امضای معتبر را اعلام کند\&. برای تولید یک امضای مجزای محافظت‌شده با زره اسکی (ASCII\-armored)، ورودی استاندارد "\fBgpg\fR \fB\-bsau\fR \fB$key\fR" با محتوایی که باید امضا شود تغذیه می‌گردد و انتظار می‌رود برنامه نتیجه را به خروجی استاندارد خود بفرستد\&. .RE .PP gpg\&.format .RS 4 فرمت کلید مورد استفاده هنگام امضا با \fB\-\-gpg\-sign\fR را مشخص می‌کند\&. پیش‌فرض "openpgp" است\&. سایر مقادیر مجاز عبارتند از "x509" و "ssh"\&. .sp برای فرمت امضا که بر اساس \fBgpg\&.format\fR انتخاب‌شده متفاوت است، به \fBgitformat-signature\fR(5) مراجعه کنید\&. .RE .PP gpg\&.\&.program .RS 4 از این برای سفارشی‌سازی برنامه استفاده‌شده برای فرمت امضایی که انتخاب کرده‌اید استفاده کنید (نگاه کنید به \fBgpg\&.program\fR و \fBgpg\&.format\fR)\&. \fBgpg\&.program\fR هنوز می‌تواند به عنوان یک مترادف قدیمی برای \fBgpg\&.openpgp\&.program\fR استفاده شود\&. مقدار پیش‌فرض برای \fBgpg\&.x509\&.program\fR برابر "gpgsm" و برای \fBgpg\&.ssh\&.program\fR برابر "ssh\-keygen" است\&. .RE .PP gpg\&.minTrustLevel .RS 4 حداقل سطح اعتماد را برای اعتبارسنجی امضا مشخص می‌کند\&. اگر این گزینه تنظیم نشده باشد، اعتبارسنجی امضا برای عملیات‌های ادغام نیازمند کلیدی با حداقل سطح اعتماد \fBmarginal\fR است\&. سایر عملیات‌هایی که اعتبارسنجی امضا را انجام می‌دهند به کلیدی با حداقل اعتماد \fBundefined\fR نیاز دارند\&. تنظیم این گزینه سطح اعتماد مورد نیاز را برای تمام عملیات‌ها بازنویسی می‌کند\&. مقادیر پشتیبانی‌شده به ترتیب صعودی اهمیت: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBundefined\fR .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBnever\fR .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBmarginal\fR .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBfully\fR .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBultimate\fR .RE .RE .PP gpg\&.ssh\&.defaultKeyCommand .RS 4 این دستور زمانی اجرا می‌شود که user\&.signingkey تنظیم نشده باشد و امضای ssh درخواست شود\&. در صورت خروج موفق، انتظار می‌رود یک کلید عمومی معتبر ssh که با پیشوند \fBkey::\fR شروع می‌شود در خط اول خروجی آن باشد\&. این امر امکان استفاده از اسکریپتی را برای جستجوی پویای کلید عمومی صحیح فراهم می‌کند، زمانی که پیکربندی ایستا برای \fBuser\&.signingKey\fR عملی نباشد؛ برای مثال هنگامی که کلیدها یا گواهی‌های SSH به‌طور مکرر تعویض (rotate) می‌شوند یا انتخاب کلید مناسب به عوامل خارجی وابسته است که برای git ناشناخته هستند\&. .RE .PP gpg\&.ssh\&.allowedSignersFile .RS 4 فایلی شامل کلیدهای عمومی ssh که مایل به اعتماد به آن‌ها هستید\&. فایل شامل یک یا چند خط از هویت‌ها (principals) و به دنبال آن یک کلید عمومی ssh است\&. به عنوان مثال: \fBuser1@example\&.com\fR,user2@example\&.com \fBssh\-rsa\fR \fBAAAAX1\&.\fR\&.\&. برای جزئیات به بخش "ALLOWED SIGNERS" در ssh\-keygen(1) مراجعه کنید\&. هویت (principal) فقط برای شناسایی کلید استفاده می‌شود و هنگام اعتبارسنجی امضا در دسترس است\&. .sp برخلاف gpg، در SSH مفهومی از سطوح اعتماد وجود ندارد\&. برای تمایز بین امضاهای معتبر و امضاهای قابل اعتماد، سطح اعتماد اعتبارسنجی امضا در صورتی که کلید عمومی در allowedSignersFile وجود داشته باشد روی \fBfully\fR تنظیم می‌شود\&. در غیر این صورت سطح اعتماد \fBundefined\fR خواهد بود و دستور git verify\-commit/tag ناموفق خواهد شد\&. .sp این فایل می‌تواند در مکانی خارج از مخزن تنظیم شود و هر توسعه‌دهنده مخزن اعتماد خودش را نگهداری کند\&. یک سرور مخزن مرکزی می‌تواند این فایل را به‌طور خودکار از کلیدهای ssh دارای دسترسی پوش برای اعتبارسنجی کد تولید کند\&. در یک محیط شرکتی، این فایل احتمالاً در یک مکان سراسری از طریق اتوماسیونی که کلیدهای ssh توسعه‌دهندگان را مدیریت می‌کند تولید می‌شود\&. .sp مخزنی که فقط اجازه کامیت‌های امضاشده را می‌دهد می‌تواند فایل را در خود مخزن با استفاده از یک مسیر نسبت به بالاترین سطح درخت کاری ذخیره کند\&. به این ترتیب فقط کسانی که دارای یک کلید معتبر هستند می‌توانند کلیدهایی را در جاکلیدی اضافه یا تغییر دهند\&. .sp از OpenSSH 8\&.8 به بعد، این فایل امکان تعیین طول عمر کلید را با استفاده از گزینه‌های valid\-after و valid\-before فراهم می‌کند\&. اگر کلید امضاکننده در زمان ایجاد امضا معتبر بوده باشد، Git امضاها را معتبر علامت‌گذاری می‌کند\&. این به کاربران امکان می‌دهد کلید امضا را بدون باطل کردن تمام امضاهای قبلی تغییر دهند\&. .sp استفاده از یک کلید CA مربوط به SSH با گزینه cert\-authority (نگاه کنید به بخش "CERTIFICATES" در ssh\-keygen(1)) نیز معتبر است\&. .RE .PP gpg\&.ssh\&.revocationFile .RS 4 یک SSH KRL یا فهرستی از کلیدهای عمومی باطل‌شده (بدون پیشوند هویت)\&. برای جزئیات به ssh\-keygen(1) مراجعه کنید\&. اگر یک کلید عمومی در این فایل پیدا شود، همیشه دارای سطح اعتماد "never" در نظر گرفته می‌شود و امضاها نامعتبر نمایش داده خواهند شد\&. .RE .PP \fBgrep\&.lineNumber\fR .RS 4 اگر روی \fBtrue\fR تنظیم شود، گزینه \fB\-n\fR را به‌طور پیش‌فرض فعال می‌کند\&. .RE .PP \fBgrep\&.column\fR .RS 4 اگر روی \fBtrue\fR تنظیم شود، گزینه \fB\-\-column\fR را به‌طور پیش‌فرض فعال می‌کند\&. .RE .PP \fBgrep\&.patternType\fR .RS 4 رفتار پیش‌فرض تطبیق الگو را تنظیم می‌کند\&. استفاده از مقدار \fBbasic\fR، \fBextended\fR، \fBfixed\fR یا \fBperl\fR به ترتیب گزینه \fB\-\-basic\-regexp\fR، \fB\-\-extended\-regexp\fR، \fB\-\-fixed\-strings\fR یا \fB\-\-perl\-regexp\fR را فعال می‌کند، در حالی که مقدار \fBdefault\fR از گزینه \fBgrep\&.extendedRegexp\fR برای انتخاب بین \fBbasic\fR و \fBextended\fR استفاده خواهد کرد\&. .RE .PP \fBgrep\&.extendedRegexp\fR .RS 4 اگر روی \fBtrue\fR تنظیم شود، گزینه \fB\-\-extended\-regexp\fR را به‌طور پیش‌فرض فعال می‌کند\&. این گزینه زمانی که گزینه \fBgrep\&.patternType\fR روی مقداری غیر از \fBdefault\fR تنظیم شده باشد، نادیده گرفته می‌شود\&. .RE .PP \fBgrep\&.threads\fR .RS 4 تعداد نخ‌های پردازشی (worker threads) دستور grep که باید استفاده شوند\&. اگر تنظیم نشود (یا روی 0 تنظیم شود)، Git به اندازه تعداد هسته‌های منطقی موجود از نخ‌ها استفاده خواهد کرد\&. .RE .PP \fBgrep\&.fullName\fR .RS 4 اگر روی \fBtrue\fR تنظیم شود، گزینه \fB\-\-full\-name\fR را به‌طور پیش‌فرض فعال می‌کند\&. .RE .PP \fBgrep\&.fallbackToNoIndex\fR .RS 4 اگر روی \fBtrue\fR تنظیم شود، در صورتی که \fBgit\fR \fBgrep\fR خارج از یک مخزن git اجرا گردد، به \fBgit\fR \fBgrep\fR \fB\-\-no\-index\fR رجوع خواهد کرد\&. پیش‌فرض \fBfalse\fR است\&. .RE .PP gui\&.commitMsgWidth .RS 4 عرض پنجره پیام کامیت را در \fBgit-gui\fR(1) تعیین می‌کند\&. پیش‌فرض "75" است\&. .RE .PP gui\&.diffContext .RS 4 مشخص می‌کند که چه تعداد خط بافت (context lines) باید در فراخوانی‌های diff ایجادشده توسط \fBgit-gui\fR(1) استفاده شود\&. پیش‌فرض "5" است\&. .RE .PP gui\&.displayUntracked .RS 4 مشخص می‌کند که آیا \fBgit-gui\fR(1) فایل‌های ردیابی‌نشده (untracked) را در فهرست فایل‌ها نمایش دهد یا خیر\&. پیش‌فرض "true" است\&. .RE .PP gui\&.encoding .RS 4 رمزگذاری کاراکتر پیش‌فرض را برای نمایش محتوای فایل در \fBgit-gui\fR(1) و \fBgitk\fR(1) مشخص می‌کند\&. این مقدار می‌تواند با تنظیم صفت \fIencoding\fR برای فایل‌های مربوطه بازنویسی شود (نگاه کنید به \fBgitattributes\fR(5))\&. اگر این گزینه تنظیم نشود، ابزارها به کدگذاری محلی (locale) بازمی‌گردند\&. .RE .PP gui\&.matchTrackingBranch .RS 4 مشخص می‌کند که آیا شاخه‌های جدید ایجادشده با \fBgit-gui\fR(1) به‌طور پیش‌فرض باید شاخه‌های ریموت با نام‌های مطابقت‌دار را ردیابی کنند یا خیر\&. پیش‌فرض: "false"\&. .RE .PP gui\&.newBranchTemplate .RS 4 به عنوان نام پیشنهادی هنگام ایجاد شاخه‌های جدید با استفاده از \fBgit-gui\fR(1) استفاده می‌شود\&. .RE .PP gui\&.pruneDuringFetch .RS 4 مقدار "true" اگر \fBgit-gui\fR(1) باید هنگام انجام واکشی (fetch)، شاخه‌های ردیابی ریموت را هرس (prune) کند\&. مقدار پیش‌فرض "false" است\&. .RE .PP gui\&.trustmtime .RS 4 مشخص می‌کند که آیا \fBgit-gui\fR(1) باید به برچسب زمانی تغییر فایل (modification timestamp) اعتماد کند یا خیر\&. به‌طور پیش‌فرض به برچسب‌های زمانی اعتماد نمی‌شود\&. .RE .PP gui\&.spellingDictionary .RS 4 لغت‌نامه مورد استفاده برای غلط‌گیری املایی پیام‌های کامیت در \fBgit-gui\fR(1) را مشخص می‌کند\&. در صورت تنظیم روی "none"، بررسی املا خاموش می‌شود\&. .RE .PP gui\&.fastCopyBlame .RS 4 اگر true باشد، \fIgit gui blame\fR برای تشخیص مکان اصلی به جای \fB\-C\fR \fB\-C\fR از \fB\-C\fR استفاده می‌کند\&. این کار در مخازن بسیار بزرگ، عمل blame را به بهای تشخیص کمتر رونوشت‌ها (copy detection)، به‌طور چشمگیری سریع‌تر می‌کند\&. .RE .PP gui\&.copyBlameThreshold .RS 4 آستانه مورد استفاده در تشخیص مکان اصلی در \fIgit gui blame\fR را که بر حسب کاراکترهای حرفی‌عددی اندازه‌گیری می‌شود، مشخص می‌کند\&. برای اطلاعات بیشتر در مورد تشخیص رونوشت به راهنمای \fBgit-blame\fR(1) مراجعه کنید\&. .RE .PP gui\&.blamehistoryctx .RS 4 شعاع بافت تاریخچه را بر حسب روز برای نمایش در \fBgitk\fR(1) برای کامیت انتخاب‌شده مشخص می‌کند، زمانی که آیتم منوی \fBShow\fR \fBHistory\fR \fBContext\fR از \fIgit gui blame\fR فراخوانی شود\&. اگر این متغیر روی صفر تنظیم شود، کل تاریخچه نشان داده می‌شود\&. .RE .PP gui\&.GCWarning .RS 4 مشخص می‌کند که آیا \fBgit-gui\fR(1) هنگامی که git تعداد زیادی شیء مجزا را در مخزن شناسایی می‌کند، باید درخواست جمع‌آوری زباله را نمایش دهد یا خیر\&. مقدار پیش‌فرض "true" است\&. .RE .PP guitool\&.\&.cmd .RS 4 خط فرمان شل را برای اجرا در هنگام فراخوانی مورد مربوطه از منوی \fBTools\fR در \fBgit-gui\fR(1) مشخص می‌کند\&. این گزینه برای هر ابزاری الزامی است\&. دستور از ریشه پوشه کاری اجرا می‌شود و در محیط، نام ابزار را به عنوان \fBGIT_GUITOOL\fR، نام فایل انتخاب‌شده فعلی را به عنوان \fIFILENAME\fR، و نام شاخه فعلی را به عنوان \fICUR_BRANCH\fR دریافت می‌کند (اگر هد جداشده [detached] باشد، \fICUR_BRANCH\fR خالی است)\&. .RE .PP guitool\&.\&.needsFile .RS 4 ابزار را تنها در صورتی اجرا می‌کند که یک تفاوت (diff) در رابط کاربری انتخاب شده باشد\&. این تضمین می‌کند که \fIFILENAME\fR خالی نباشد\&. .RE .PP guitool\&.\&.noConsole .RS 4 دستور را به‌طور بی‌صدا و بدون ایجاد پنجره‌ای برای نمایش خروجی آن اجرا می‌کند\&. .RE .PP guitool\&.\&.noRescan .RS 4 پس از اتمام اجرای ابزار، پوشه کاری را برای تغییرات دوباره پویش (rescan) نمی‌کند\&. .RE .PP guitool\&.\&.confirm .RS 4 قبل از اجرای واقعی ابزار، یک کادر گفتگوی تأیید را نمایش می‌دهد\&. .RE .PP guitool\&.\&.argPrompt .RS 4 یک آرگومان رشته‌ای از کاربر درخواست می‌کند و آن را از طریق متغیر محیطی \fBARGS\fR به ابزار ارسال می‌نماید\&. از آنجا که درخواست آرگومان متضمن تأیید است، در صورت فعال بودن این گزینه، گزینه \fIconfirm\fR هیچ اثری ندارد\&. اگر گزینه روی \fItrue\fR، \fIyes\fR یا \fI1\fR تنظیم شده باشد، کادر گفتگو از یک اعلان عمومی توکار استفاده می‌کند؛ در غیر این صورت مقدار دقیق متغیر به کار می‌رود\&. .RE .PP guitool\&.\&.revPrompt .RS 4 یک بازنگری (revision) معتبر واحد را از کاربر درخواست می‌کند و متغیر محیطی \fBREVISION\fR را تنظیم می‌نماید\&. از جنبه‌های دیگر این گزینه شبیه به \fIargPrompt\fR است و می‌تواند همراه با آن استفاده شود\&. .RE .PP guitool\&.\&.revUnmerged .RS 4 تنها شاخه‌های ادغام‌نشده را در زیرگفتگوی \fIrevPrompt\fR نشان می‌دهد\&. این برای ابزارهای مشابه merge یا rebase مفید است، اما برای مواردی مانند checkout یا reset کاربرد ندارد\&. .RE .PP guitool\&.\&.title .RS 4 عنوان مورد استفاده برای کادر گفتگوی ورودی را مشخص می‌کند\&. پیش‌فرض نام ابزار است\&. .RE .PP guitool\&.\&.prompt .RS 4 رشته اعلان عمومی را برای نمایش در بالای کادر گفتگو، قبل از بخش‌های مربوط به \fIargPrompt\fR و \fIrevPrompt\fR مشخص می‌کند\&. مقدار پیش‌فرض شامل خود دستور واقعی است\&. .RE .PP help\&.browser .RS 4 مرورگری را مشخص می‌کند که برای نمایش راهنما در قالب \fIweb\fR استفاده خواهد شد\&. به \fBgit-help\fR(1) مراجعه کنید\&. .RE .PP help\&.format .RS 4 قالب پیش‌فرض راهنمای استفاده‌شده توسط \fBgit-help\fR(1) را بازنویسی می‌کند\&. مقادیر \fIman\fR، \fIinfo\fR، \fIweb\fR و \fIhtml\fR پشتیبانی می‌شوند\&. \fIman\fR پیش‌فرض است\&. \fIweb\fR و \fIhtml\fR یکسان هستند\&. .RE .PP help\&.autoCorrect .RS 4 اگر git غلط‌های املایی را تشخیص دهد و بتواند دقیقاً یک دستور معتبر شبیه به خطا را شناسایی کند، سعی می‌کند دستور صحیح را پیشنهاد دهد یا حتی پیشنهاد را به‌طور خودکار اجرا نماید\&. مقادیر ممکن برای پیکربندی عبارتند از: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} 0، "false"، "off"، "no"، "show": نمایش دستور پیشنهادی (پیش‌فرض)\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} 1، "true"، "on"، "yes"، "immediate": اجرای فوری دستور پیشنهادی\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} عدد مثبت > 1: اجرای دستور پیشنهادی پس از دهم‌ثانیه‌های مشخص‌شده (0\&.1 ثانیه)\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} "never": هیچ دستور پیشنهادی را اجرا یا نمایش ندهد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} "prompt": پیشنهاد را نشان داده و برای اجرای دستور تأییدیه بخواهد\&. .RE .RE .PP help\&.htmlPath .RS 4 مسیری را مشخص می‌کند که مستندات HTML در آن قرار دارند\&. مسیرهای سیستم‌فایل و نشانی‌های وب (URLs) پشتیبانی می‌شوند\&. هنگامی که راهنما در قالب \fIweb\fR نمایش داده می‌شود، صفحات HTML با این مسیر پیشوند خواهند شد\&. پیش‌فرض این مسیر مستندات مربوط به نصب Git شما است\&. .RE .PP hook\&.\&.command .RS 4 دستوری که برای \fBhook\&.\fR\fI\fR باید اجرا شود\&. \fI\fR نامی یکتاست که این قلاب را شناسایی می‌کند\&. رویدادهای قلابی که دستور را فراخوانی می‌کنند با \fBhook\&.\fR\fI\fR\fB\&.event\fR پیکربندی می‌شوند\&. این مقدار می‌تواند یک مسیر اجرایی یا یک تک‌خطی شل (shell oneliner) باشد\&. اگر بیش از یک مقدار برای همان \fI\fR مشخص شود، تنها آخرین مقدار تجزیه‌شده استفاده می‌شود\&. به \fBgit-hook\fR(1) مراجعه کنید\&. .RE .PP hook\&.\&.event .RS 4 رویدادهای قلاب که \fBhook\&.\fR\fI\fR را فعال می‌کنند\&. این مقدار نام یک رویداد قلاب مانند "pre\-commit" یا "update" است\&. (برای فهرست کامل رویدادهای قلاب به \fBgithooks\fR(5) مراجعه کنید\&.) در رویداد مشخص‌شده، دستور مرتبط \fBhook\&.\fR\fI\fR\fB\&.command\fR اجرا می‌شود\&. این یک کلید چندمقداری است\&. برای اجرای \fBhook\&.\fR\fI\fR روی چندین رویداد، کلید را بیش از یک بار مشخص کنید\&. یک مقدار خالی فهرست رویدادها را بازنشانی می‌کند و رویدادهای تعریف‌شده قبلی را برای \fBhook\&.\fR\fI\fR پاک می‌نماید\&. به \fBgit-hook\fR(1) مراجعه کنید\&. .sp نام \fI\fR نباید مشابه نام یک رویداد قلاب شناخته‌شده باشد (برای مثال از \fBhook\&.pre\-commit\&.event\fR استفاده نکنید)\&. استفاده از نام یک رویداد شناخته‌شده به عنوان friendly\-name یک خطای مهلک است زیرا باعث ایجاد ابهام با \fBhook\&.\fR\fI\fR\fB\&.enabled\fR و \fBhook\&.\fR\fI\fR\fB\&.jobs\fR می‌شود\&. برای نام‌های رویداد ناشناخته، زمانی که \fI\fR با مقدار رویداد مطابقت داشته باشد یک هشدار صادر می‌شود\&. .RE .PP hook\&.\&.enabled .RS 4 مشخص می‌کند که آیا قلاب \fBhook\&.\fR\fI\fR فعال است یا خیر\&. پیش‌فرض \fBtrue\fR است\&. برای غیرفعال کردن قلاب بدون حذف پیکربندی آن، روی \fBfalse\fR تنظیم کنید\&. این به‌ویژه زمانی مفید است که قلاب در یک فایل پیکربندی سیستمی یا سراسری تعریف شده باشد و نیاز باشد برای یک مخزن خاص غیرفعال گردد\&. به \fBgit-hook\fR(1) مراجعه کنید\&. .RE .PP hook\&.\&.parallel .RS 4 مشخص می‌کند که آیا قلاب \fBhook\&.\fR\fI\fR ممکن است به صورت موازی با سایر قلاب‌ها برای همان رویداد اجرا شود یا خیر\&. پیش‌فرض \fBfalse\fR است\&. تنها زمانی روی \fBtrue\fR تنظیم کنید که اسکریپت قلاب برای اجرای هم‌روند با سایر قلاب‌ها برای همان رویداد ایمن باشد\&. اگر هر قلابی برای یک رویداد این گزینه را روی \fBtrue\fR تنظیم نکرده باشد، تمام قلاب‌ها برای آن رویداد صرف‌نظر از \fBhook\&.jobs\fR به صورت متوالی اجرا می‌شوند\&. فقط قلاب‌های پیکربندی‌شده (نام‌گذاری‌شده) نیاز به اعلام این مورد دارند\&. قلاب‌های سنتی موجود در پوشه hooks نیازی به این کار ندارند و زمانی که تعداد کارهای مؤثر بزرگ‌تر از 1 باشد به صورت موازی اجرا می‌شوند\&. به \fBgit-hook\fR(1) مراجعه کنید\&. .RE .PP hook\&.\&.enabled .RS 4 کلید برای فعال یا غیرفعال کردن تمام قلاب‌ها برای رویداد قلاب \fI\fR است\&. هنگامی که روی \fBfalse\fR تنظیم شود، هیچ قلابی برای آن رویداد اجرا نمی‌شود، صرف‌نظر از هرگونه تنظیمات اختصاصی \fBhook\&.\fR\fI\fR\fB\&.enabled\fR برای هر قلاب\&. مقدار پیش‌فرض \fBtrue\fR است\&. رجوع کنید به \fBgit-hook\fR(1)\&. .sp نکته در مورد نام‌گذاری: \fI\fR باید نام رویداد باشد (مثلاً \fBpre\-commit\fR)، نه نام دوستانه (friendly\-name) قلاب\&. از آنجا که استفاده از یک نام رویداد شناخته‌شده به عنوان friendly\-name مجاز نیست (ببینید \fBhook\&.\fR\fI\fR\fB\&.event\fR در بالا)، هیچ ابهامی بین تنظیمات \fB\&.enabled\fR در سطح رویداد و در سطح هر قلاب برای رویدادهای شناخته‌شده وجود ندارد\&. برای رویدادهای ناشناخته، اگر یک friendly\-name برخلاف هشدار با نام رویداد مطابقت داشته باشد، \fB\&.enabled\fR تنها به عنوان تنظیم اختصاصی هر قلاب در نظر گرفته می‌شود\&. .RE .PP hook\&.\&.jobs .RS 4 مشخص می‌کند چه تعداد قلاب می‌توانند به طور هم‌زمان برای رویداد قلاب \fI\fR اجرا شوند (مثلاً \fBhook\&.post\-receive\&.jobs\fR \fB=\fR \fB4\fR)\&. مقدار \fBhook\&.jobs\fR را برای این رویداد خاص بازنویسی می‌کند\&. همان محدودیت‌های موازی‌سازی اعمال می‌شوند: این تنظیم هیچ تاثیری ندارد مگر آنکه تمام قلاب‌های پیکربندی‌شده برای آن رویداد دارای \fBhook\&.\fR\fI\fR\fB\&.parallel\fR تنظیم‌شده روی \fBtrue\fR باشند\&. مقدار را روی \fB\-1\fR تنظیم کنید تا از تعداد هسته‌های موجود CPU استفاده شود\&. باید یک عدد صحیح مثبت یا \fB\-1\fR باشد؛ مقدار صفر همراه با یک هشدار رد می‌شود\&. رجوع کنید به \fBgit-hook\fR(1)\&. .sp نکته در مورد نام‌گذاری: هرچند این کلید شبیه به \fBhook\&.\fR\fI\fR\fB\&.*\fR (یک تنظیم اختصاصی هر قلاب) است، \fI\fR باید نام رویداد باشد، نه نام دوستانه قلاب\&. جزء کلید به صورت تحت‌اللفظی ذخیره می‌شود و در زمان اجرا بر اساس نام رویداد و بدون هیچ ترجمه‌ای بین این دو فضای نام جستجو می‌شود\&. کلیدی مانند \fBhook\&.my\-hook\&.jobs\fR تحت "my\-hook" ذخیره می‌شود اما جستجو در زمان اجرا از نام رویداد (مثلاً "post\-receive") استفاده می‌کند، بنابراین \fBhook\&.my\-hook\&.jobs\fR حتی در صورت ثبت بودن \fBmy\-hook\fR برای آن رویداد، بدون هشدار نادیده گرفته می‌شود\&. هنگام تنظیم \fBhook\&.\fR\fI\fR\fB\&.jobs\fR از \fBhook\&.post\-receive\&.jobs\fR یا هر نام رویداد معتبر دیگری استفاده کنید\&. .RE .PP hook\&.jobs .RS 4 مشخص می‌کند چه تعداد قلاب می‌توانند در طول اجرای موازی قلاب‌ها به طور هم‌زمان اجرا شوند\&. در صورت عدم تعیین، مقدار پیش‌فرض ۱ (اجرای ترتیبی) است\&. برای استفاده از تعداد هسته‌های موجود CPU، آن را روی \fB\-1\fR تنظیم کنید\&. می‌تواند بر مبنای هر رویداد با \fBhook\&.\fR\fI\fR\fB\&.jobs\fR بازنویسی شود\&. برخی قلاب‌ها صرف‌نظر از این تنظیم همیشه به صورت ترتیبی اجرا می‌شوند، زیرا روی داده‌های مشترک عمل می‌کنند و نمی‌توانند با اطمینان موازی شوند: .PP \fBapplypatch\-msg\fR, \fBprepare\-commit\-msg\fR, \fBcommit\-msg\fR .RS 4 یک فایل پیام ثبت را دریافت می‌کنند و ممکن است در همان جا آن را بازنویسی کنند\&. .RE .PP \fBpre\-commit\fR, \fBpost\-checkout\fR, \fBpush\-to\-checkout\fR, \fBpost\-commit\fR .RS 4 به درخت کاری، ایندکس یا وضعیت مخزن دسترسی پیدا می‌کنند\&. .RE .sp این تنظیم هیچ اثری ندارد مگر آنکه تمام قلاب‌های پیکربندی‌شده برای آن رویداد، \fBhook\&.\fR\fI\fR\fB\&.parallel\fR را روی \fBtrue\fR تنظیم کرده باشند\&. .sp برای قلاب‌های \fBpre\-push\fR که به طور عادی stdout و stderr را مجزا نگه می‌دارند، تنظیم این مقدار به بیش از ۱ (یا ارسال \fB\-j\fR) باعث ادغام خروجی استاندارد در خطای استاندارد می‌شود تا تفکیک موازی خروجی‌ها به درستی صورت گیرد\&. .RE .PP http\&.proxy .RS 4 پروکسی HTTP را بازنویسی می‌کند، که معمولاً با استفاده از متغیرهای محیطی \fIhttp_proxy\fR, \fIhttps_proxy\fR, و \fIall_proxy\fR پیکربندی می‌شود (رجوع کنید به \fBcurl\fR(\fB1\fR))\&. علاوه بر نحو قابل فهم برای curl، امکان تعیین یک رشته پروکسی با نام کاربری اما بدون گذرواژه وجود دارد که در این حالت git تلاش می‌کند به همان شیوه‌ای که برای سایر اعتبارنامه‌ها عمل می‌کند، گذرواژه‌ای به دست آورد\&. برای اطلاعات بیشتر \fBgitcredentials\fR(7) را ببینید\&. بنابراین ساختار نگارش به صورت \fI[protocol://][user[:password]@]proxyhost[:port][/path]\fR است\&. این مقدار می‌تواند برای هر ریموت بازنویسی شود؛ ببینید remote\&.\&.proxy .sp هر پروکسی، صرف‌نظر از نحوه پیکربندی، باید کاملاً شفاف باشد و نباید به هیچ وجه درخواست یا پاسخ را تغییر دهد، تبدیل کند یا بافر نماید\&. پروکسی‌هایی که کاملاً شفاف نیستند، شناخته شده است که موجب انواع مختلفی از خرابی‌ها در کار با Git می‌شوند\&. .RE .PP http\&.proxyAuthMethod .RS 4 روشی را تعیین می‌کند که با آن احراز هویت در برابر پروکسی HTTP انجام شود\&. این تنها در صورتی اعمال می‌شود که رشته پروکسی پیکربندی‌شده حاوی بخش نام کاربری باشد (یعنی به فرم \fIuser@host\fR یا \fIuser@host:port\fR باشد)\&. این می‌تواند برای هر ریموت بازنویسی شود؛ ببینید \fBremote\&.\fR\fI\fR\fB\&.proxyAuthMethod\fR\&. هر دو می‌توانند توسط متغیر محیطی \fBGIT_HTTP_PROXY_AUTHMETHOD\fR بازنویسی شوند\&. مقادیر ممکن عبارتند از: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBanyauth\fR \- انتخاب خودکار یک روش احراز هویت مناسب\&. فرض بر این است که پروکسی به یک درخواست احراز هویت‌نشده با کد وضعیت 407 و یک یا چند سرآیند Proxy\-authenticate با روش‌های احراز هویت پشتیبانی‌شده پاسخ می‌دهد\&. این مقدار پیش‌فرض است\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBbasic\fR \- احراز هویت HTTP Basic .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBdigest\fR \- احراز هویت HTTP Digest؛ این روش از ارسال گذرواژه به صورت متن آشکار به پروکسی جلوگیری می‌کند .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBnegotiate\fR \- احراز هویت GSS\-Negotiate (مقایسه کنید با گزینه \-\-negotiate در \fBcurl\fR(\fB1\fR)) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBntlm\fR \- احراز هویت NTLM (مقایسه کنید با گزینه \-\-ntlm در \fBcurl\fR(\fB1\fR)) .RE .RE .PP http\&.proxySSLCert .RS 4 مسیر فایلی که یک گواهی کلاینت را برای احراز هویت در برابر یک پروکسی HTTPS ذخیره می‌کند\&. می‌تواند توسط متغیر محیطی \fBGIT_PROXY_SSL_CERT\fR بازنویسی شود\&. .RE .PP http\&.proxySSLKey .RS 4 مسیر فایلی که یک کلید خصوصی را برای احراز هویت در برابر یک پروکسی HTTPS ذخیره می‌کند\&. می‌تواند توسط متغیر محیطی \fBGIT_PROXY_SSL_KEY\fR بازنویسی شود\&. .RE .PP http\&.proxySSLCertPasswordProtected .RS 4 درخواست گذرواژه Git برای گواهی SSL پروکسی را فعال می‌کند\&. در غیر این صورت، اگر گواهی یا کلید خصوصی رمزنگاری شده باشد، OpenSSL ممکن است مکرراً از کاربر درخواست گذرواژه کند\&. می‌تواند توسط متغیر محیطی \fBGIT_PROXY_SSL_CERT_PASSWORD_PROTECTED\fR بازنویسی شود\&. .RE .PP http\&.proxySSLCAInfo .RS 4 مسیر فایل حاوی بسته گواهی که باید هنگام استفاده از پروکسی HTTPS برای اعتبارسنجی پروکسی استفاده شود\&. می‌تواند توسط متغیر محیطی \fBGIT_PROXY_SSL_CAINFO\fR بازنویسی شود\&. .RE .PP http\&.emptyAuth .RS 4 تلاش برای احراز هویت بدون درخواست نام کاربری یا گذرواژه\&. این می‌تواند برای تلاش جهت احراز هویت GSS\-Negotiate بدون تعیین نام کاربری در URL استفاده شود، زیرا libcurl معمولاً برای احراز هویت به نام کاربری نیاز دارد\&. مقادیر ممکن عبارتند از: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBauto\fR (پیش‌فرض) \- ارسال اطلاعات اعتبارنامه خالی تنها در صورتی که پاسخ 401 سرور سازوکار احراز هویتی را اعلام کند که به آنها نیاز دارد (مانند GSS\-Negotiate)؛ در غیر این صورت به درخواست از طریق دستیار اعتبارنامه رجوع می‌کند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBtrue\fR \- همیشه در همان اولین درخواست، پیش از دریافت هرگونه پاسخ 401 از سرور، اعتبارنامه‌های خالی ارسال شود\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBfalse\fR \- هرگز اعتبارنامه‌های خالی ارسال نشود\&. سازوکارهایی که به اعتبارنامه‌های خالی یا یک نام کاربری صریح نیاز دارند، مانند GSS\-Negotiate، کار نخواهند کرد\&. .RE .RE .PP http\&.proactiveAuth .RS 4 تلاش برای احراز هویت بدون انجام تلاش اولیه بدون احراز هویت و دریافت پاسخ 401\&. این می‌تواند برای اطمینان از احراز هویت تمام درخواست‌ها استفاده شود\&. اگر \fBhttp\&.emptyAuth\fR روی true تنظیم شده باشد، این مقدار تاثیری ندارد\&. .sp اگر دستیار اعتبارنامه مورد استفاده، یک طرح احراز هویت را مشخص کند (یعنی از طریق فیلد \fBauthtype\fR)، آن مقدار استفاده خواهد شد؛ اگر نام کاربری و گذرواژه بدون طرح مشخصی ارائه شوند، احراز هویت Basic استفاده می‌شود\&. مقدار این گزینه، طرح درخواستی از دستیار را تعیین می‌کند\&. مقادیر ممکن عبارتند از: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBbasic\fR \- درخواست احراز هویت Basic از دستیار\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBauto\fR \- اجازه دادن به دستیار برای انتخاب طرح مناسب\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBnone\fR \- غیرفعال کردن احراز هویت پیش‌دستانه\&. .RE .sp توجه داشته باشید که با این پیکربندی همیشه باید از TLS استفاده شود، زیرا در غیر این صورت، در صورت انتخاب احراز هویت Basic، اعتبارنامه‌های متنی ساده ممکن است به راحتی و تصادفاً افشا شوند\&. .RE .PP http\&.delegation .RS 4 تفویض اعتبارنامه GSSAPI را کنترل می‌کند\&. تفویض به طور پیش‌فرض در libcurl از نسخه 7\&.21\&.7 غیرفعال است\&. این پارامتر را تنظیم کنید تا به سرور اعلام شود در مورد اعتبارنامه‌های کاربر مجاز به تفویض چه چیزی است\&. همراه با GSS/kerberos استفاده می‌شود\&. مقادیر ممکن عبارتند از: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBnone\fR \- هیچ تفویضی مجاز نباشد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBpolicy\fR \- تفویض تنها و تنها در صورتی انجام شود که پرچم OK\-AS\-DELEGATE در بلیت سرویس Kerberos تنظیم شده باشد، که به خط‌مشی قلمرو مربوط می‌شود\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBalways\fR \- سرور بدون قید و شرط مجاز به تفویض باشد\&. .RE .RE .PP http\&.extraHeader .RS 4 ارسال یک سرآیند HTTP اضافی هنگام برقراری ارتباط با یک سرور\&. اگر بیش از یک مدخل از این دست وجود داشته باشد، همه آن‌ها به عنوان سرآیندهای اضافی افزوده می‌شوند\&. برای امکان بازنویسی تنظیمات به ارث رسیده از پیکربندی سیستم، یک مقدار خالی سرآیندهای اضافی را به فهرست خالی بازنشانی خواهد کرد\&. .RE .PP http\&.cookieFile .RS 4 مسیر فایلی حاوی خطوط کوکی قبلاً ذخیره‌شده، که در صورت تطابق با سرور باید در نشست http گیت استفاده شوند\&. قالب فایل برای خواندن کوکی‌ها باید سرآیندهای ساده HTTP یا قالب فایل کوکی Netscape/Mozilla باشد (ببینید \fBcurl\fR(\fB1\fR))\&. آن را روی یک رشته خالی تنظیم کنید تا فقط کوکی‌های جدید از سرور پذیرفته شوند و در درخواست‌های متوالی در همان اتصال بازگردانده شوند\&. توجه داشته باشید که فایل مشخص‌شده با http\&.cookieFile تنها به عنوان ورودی استفاده می‌شود مگر اینکه http\&.saveCookies تنظیم شده باشد\&. .RE .PP http\&.saveCookies .RS 4 در صورت تنظیم، کوکی‌های دریافت‌شده در طول درخواست‌ها را در فایل مشخص‌شده توسط http\&.cookieFile ذخیره می‌کند\&. اگر http\&.cookieFile تنظیم نشده باشد یا روی یک رشته خالی تنظیم شده باشد، هیچ اثری ندارد\&. .RE .PP http\&.version .RS 4 هنگام برقراری ارتباط با یک سرور از نسخه پروتکل مشخص‌شده HTTP استفاده می‌کند، در صورتی که بخواهید بر مقدار پیش‌فرض پافشاری کنید\&. نسخه موجود و پیش‌فرض به libcurl بستگی دارد\&. در حال حاضر مقادیر ممکن برای این گزینه عبارتند از: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} HTTP/2 .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} HTTP/1\&.1 .RE .RE .PP http\&.curloptResolve .RS 4 اطلاعات تفکیک نام میزبان که هنگام ارسال درخواست‌های HTTP ابتدا توسط libcurl استفاده خواهد شد\&. این اطلاعات باید در یکی از قالب‌های زیر باشد: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} [+]HOST:PORT:ADDRESS[,ADDRESS] .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \-HOST:PORT .RE .sp قالب اول تمام درخواست‌ها به \fBHOST:PORT\fR داده‌شده را به \fBADDRESS\fR(های) ارائه‌شده هدایت می‌کند\&. قالب دوم تمام مقادیر پیکربندی قبلی را برای آن ترکیب \fBHOST:PORT\fR پاک می‌کند\&. برای امکان بازنویسی آسان تمام تنظیمات به ارث رسیده از پیکربندی سیستم، یک مقدار خالی تمام اطلاعات تفکیک را به فهرست خالی بازنشانی می‌کند\&. .RE .PP http\&.sslVersion .RS 4 نسخه SSL برای استفاده هنگام مذاکره بر سر اتصال SSL، در صورتی که بخواهید بر مقدار پیش‌فرض پافشاری کنید\&. نسخه موجود و پیش‌فرض به این بستگی دارد که آیا libcurl در برابر NSS ساخته شده است یا OpenSSL و همچنین به پیکربندی خاص کتابخانه رمزنوشتاری مورد استفاده وابسته است\&. به صورت داخلی این متغیر گزینه \fICURLOPT_SSL_VERSION\fR را تنظیم می‌کند؛ برای جزئیات بیشتر در مورد قالب این گزینه و نسخه ssl پشتیبانی‌شده به مستندات libcurl مراجعه کنید\&. در حال حاضر مقادیر ممکن برای این گزینه عبارتند از: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} sslv2 .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} sslv3 .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} tlsv1 .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} tlsv1\&.0 .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} tlsv1\&.1 .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} tlsv1\&.2 .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} tlsv1\&.3 .RE .sp می‌تواند توسط متغیر محیطی \fBGIT_SSL_VERSION\fR بازنویسی شود\&. برای اجبار git به استفاده از نسخه پیش‌فرض ssl در libcurl و نادیده گرفتن هر گزینه صریح http\&.sslversion، متغیر \fBGIT_SSL_VERSION\fR را روی یک رشته خالی تنظیم کنید\&. .RE .PP http\&.sslCipherList .RS 4 فهرستی از الگوریتم‌های رمزنگاری (ciphers) SSL برای استفاده هنگام مذاکره بر سر یک اتصال SSL\&. الگوریتم‌های رمزنگاری در دسترس به این بستگی دارند که libcurl در برابر NSS ساخته شده است یا OpenSSL و همچنین به پیکربندی خاص کتابخانه رمزنوشتاری مورد استفاده وابسته است\&. به صورت داخلی این متغیر گزینه \fICURLOPT_SSL_CIPHER_LIST\fR را تنظیم می‌کند؛ برای جزئیات بیشتر درباره قالب این فهرست به مستندات libcurl مراجعه کنید\&. .sp می‌تواند توسط متغیر محیطی \fBGIT_SSL_CIPHER_LIST\fR بازنویسی شود\&. برای اجبار git به استفاده از فهرست پیش‌فرض الگوریتم‌های رمزنگاری libcurl و نادیده گرفتن هر گزینه صریح http\&.sslCipherList، متغیر \fBGIT_SSL_CIPHER_LIST\fR را روی یک رشته خالی تنظیم کنید\&. .RE .PP http\&.sslVerify .RS 4 آیا گواهی SSL هنگام واکشی یا ارسال روی HTTPS اعتبارسنجی شود یا خیر\&. پیش‌فرض true است\&. می‌تواند توسط متغیر محیطی \fBGIT_SSL_NO_VERIFY\fR بازنویسی شود\&. .RE .PP http\&.sslCert .RS 4 فایل حاوی گواهی SSL هنگام واکشی یا ارسال روی HTTPS\&. می‌تواند توسط متغیر محیطی \fBGIT_SSL_CERT\fR بازنویسی شود\&. .RE .PP http\&.sslKey .RS 4 فایل حاوی کلید خصوصی SSL هنگام واکشی یا ارسال روی HTTPS\&. می‌تواند توسط متغیر محیطی \fBGIT_SSL_KEY\fR بازنویسی شود\&. .RE .PP http\&.sslCertPasswordProtected .RS 4 درخواست دریافت گذرواژه Git برای گواهی SSL را فعال می‌کند\&. در غیر این صورت، اگر گواهی یا کلید خصوصی رمزنگاری شده باشد، OpenSSL ممکن است مکرراً از کاربر درخواست گذرواژه کند\&. می‌تواند توسط متغیر محیطی \fBGIT_PROXY_SSL_CERT_PASSWORD_PROTECTED\fR بازنویسی شود\&. .RE .PP http\&.sslCAInfo .RS 4 فایل حاوی گواهی‌ها برای اعتبارسنجی طرف مقابل (peer) هنگام واکشی یا ارسال روی HTTPS\&. می‌تواند توسط متغیر محیطی \fBGIT_SSL_CAINFO\fR بازنویسی شود\&. .RE .PP http\&.sslCAPath .RS 4 مسیر حاوی فایل‌های گواهی‌های CA برای اعتبارسنجی طرف مقابل هنگام واکشی یا ارسال روی HTTPS\&. می‌تواند توسط متغیر محیطی \fBGIT_SSL_CAPATH\fR بازنویسی شود\&. .RE .PP http\&.sslBackend .RS 4 نام بک‌اند SSL برای استفاده (مثلاً "openssl" یا "schannel")\&. اگر cURL فاقد پشتیبانی برای انتخاب بک‌اند SSL در زمان اجرا باشد، این گزینه نادیده گرفته می‌شود\&. .RE .PP http\&.sslCertType .RS 4 نوع گواهی کلاینت مورد استفاده هنگام واکشی یا ارسال روی HTTPS\&. مقادیر "PEM" و "DER" هنگام استفاده از بک‌اندهای openssl یا gnutls پشتیبانی می‌شوند\&. مقدار "P12" روی "openssl"، "schannel"، "securetransport" و gnutls نسخه 8\&.11+ پشتیبانی می‌شود\&. همچنین رجوع کنید به \fBCURLOPT_SSLCERTTYPE\fR در libcurl\&. می‌تواند توسط متغیر محیطی \fBGIT_SSL_CERT_TYPE\fR بازنویسی شود\&. .RE .PP http\&.sslKeyType .RS 4 نوع کلید خصوصی کلاینت مورد استفاده هنگام واکشی یا ارسال روی HTTPS (مثلاً "PEM"، "DER" یا "ENG")\&. تنها هنگام استفاده از بک‌اند "openssl" قابل اعمال است\&. مقدار "DER" با openssl پشتیبانی نمی‌شود\&. به ویژه هنگام تنظیم روی "ENG" برای احراز هویت با توکن‌های PKCS#11 به همراه یک URL مربوط به PKCS#11 در گزینه sslCert بسیار مفید است\&. همچنین رجوع کنید به \fBCURLOPT_SSLKEYTYPE\fR در libcurl\&. می‌تواند توسط متغیر محیطی \fBGIT_SSL_KEY_TYPE\fR بازنویسی شود\&. .RE .PP http\&.schannelCheckRevoke .RS 4 برای اجبار یا غیرفعال کردن بررسی ابطال گواهی در cURL هنگامی که http\&.sslBackend روی "schannel" تنظیم شده است، استفاده می‌شود\&. در صورت عدم تنظیم، پیش‌فرض \fBtrue\fR است\&. غیرفعال کردن این گزینه تنها در صورتی ضروری است که Git مداوماً با خطا مواجه شود و پیام خطا مربوط به بررسی وضعیت ابطال یک گواهی باشد\&. اگر cURL فاقد پشتیبانی برای تنظیم گزینه مربوطه SSL در زمان اجرا باشد، این گزینه نادیده گرفته می‌شود\&. .RE .PP http\&.schannelUseSSLCAInfo .RS 4 از نسخه cURL v7\&.60\&.0 به بعد، بک‌اند Secure Channel می‌تواند از بسته گواهی ارائه‌شده از طریق \fBhttp\&.sslCAInfo\fR استفاده کند، اما این کار انبار گواهی ویندوز (Windows Certificate Store) را بازنویسی می‌کند\&. از آنجا که این رفتار به طور پیش‌فرض مطلوب نیست، Git به cURL می‌گوید هنگامی که بک‌اند \fBschannel\fR از طریق \fBhttp\&.sslBackend\fR پیکربندی شده است، به طور پیش‌فرض از آن بسته استفاده نکند، مگر اینکه \fBhttp\&.schannelUseSSLCAInfo\fR این رفتار را بازنویسی کند\&. .RE .PP http\&.pinnedPubkey .RS 4 کلید عمومی سرویس https\&. این می‌تواند نام فایل یک فایل کلید عمومی با کدگذاری PEM یا DER باشد، یا رشته‌ای که با \fIsha256//\fR آغاز شده و پس از آن هش sha256 کدگذاری‌شده با base64 از کلید عمومی قرار دارد\&. همچنین رجوع کنید به \fICURLOPT_PINNEDPUBLICKEY\fR در libcurl\&. اگر این گزینه تنظیم شود اما توسط cURL پشتیبانی نشود، git با یک خطا خارج خواهد شد\&. .RE .PP http\&.sslTry .RS 4 تلاش برای استفاده از AUTH SSL/TLS و انتقال داده‌های رمزشده هنگام اتصال از طریق پروتکل معمولی FTP\&. این ممکن است در صورتی لازم باشد که سرور FTP به دلایل امنیتی به آن نیاز داشته باشد یا شما بخواهید هر زمان که سرور FTP ریموت از آن پشتیبانی می‌کند به صورت امن متصل شوید\&. مقدار پیش‌فرض false است زیرا ممکن است در سرورهایی با پیکربندی نادرست خطاهای اعتبارسنجی گواهی ایجاد کند\&. .RE .PP http\&.maxRequests .RS 4 چه تعداد درخواست HTTP به صورت موازی اجرا شوند\&. می‌تواند توسط متغیر محیطی \fBGIT_HTTP_MAX_REQUESTS\fR بازنویسی شود\&. پیش‌فرض 5 است\&. .RE .PP http\&.minSessions .RS 4 تعداد نشست‌های curl (شمارش‌شده در اسلات‌ها) که باید در طول درخواست‌ها باز نگه داشته شوند\&. آن‌ها تا زمان فراخوانی http_cleanup() با curl_easy_cleanup() پایان نخواهند یافت\&. اگر USE_CURL_MULTI تعریف نشده باشد، این مقدار حداکثر به ۱ محدود می‌شود\&. پیش‌فرض ۱ است\&. .RE .PP http\&.postBuffer .RS 4 حداکثر اندازه بر حسب بایت برای بافر مورد استفاده توسط انتقالات هوشمند HTTP هنگام ارسال داده به سیستم ریموت با POST\&. برای درخواست‌های بزرگتر از این اندازه بافر، از HTTP/1\&.1 و Transfer\-Encoding: chunked استفاده می‌شود تا از ایجاد یک فایل بسته بسیار بزرگ به صورت محلی جلوگیری شود\&. مقدار پیش‌فرض 1 MiB است که برای اکثر درخواست‌ها کافی می‌باشد\&. .sp توجه داشته باشید که افزایش این حد تنها برای غیرفعال کردن کدگذاری انتقال تکه‌ای موثر است و بنابراین فقط باید در جایی استفاده شود که سرور ریموت یا پروکسی تنها از HTTP/1\&.0 پشتیبانی می‌کند یا با استاندارد HTTP سازگار نیست\&. افزایش این مقدار به طور کلی راه‌حل موثری برای اکثر مشکلات push نیست، اما می‌تواند مصرف حافظه را به شدت افزایش دهد زیرا کل بافر حتی برای ارسال‌های کوچک نیز تخصیص داده می‌شود\&. .RE .PP http\&.lowSpeedLimit, http\&.lowSpeedTime .RS 4 اگر سرعت انتقال HTTP بر حسب بایت در ثانیه، کمتر از \fIhttp\&.lowSpeedLimit\fR برای مدت زمانی بیش از \fIhttp\&.lowSpeedTime\fR ثانیه باشد، انتقال متوقف می‌شود\&. می‌تواند توسط متغیرهای محیطی \fBGIT_HTTP_LOW_SPEED_LIMIT\fR و \fBGIT_HTTP_LOW_SPEED_TIME\fR بازنویسی شود\&. .RE .PP http\&.keepAliveIdle .RS 4 مدت زمان انتظار بر حسب ثانیه را روی یک اتصال بیکار پیش از ارسال کاوشگرهای TCP keepalive (در صورت پشتیبانی سیستم‌عامل) مشخص می‌کند\&. اگر تنظیم نشده باشد، مقدار پیش‌فرض curl استفاده می‌شود\&. می‌تواند توسط متغیر محیطی \fBGIT_HTTP_KEEPALIVE_IDLE\fR بازنویسی شود\&. .RE .PP http\&.keepAliveInterval .RS 4 مدت زمان انتظار بر حسب ثانیه میان کاوشگرهای TCP keepalive را (در صورت پشتیبانی سیستم‌عامل) مشخص می‌کند\&. اگر تنظیم نشده باشد، مقدار پیش‌فرض curl استفاده می‌شود\&. می‌تواند توسط متغیر محیطی \fBGIT_HTTP_KEEPALIVE_INTERVAL\fR بازنویسی شود\&. .RE .PP http\&.keepAliveCount .RS 4 مشخص می‌کند چه تعداد کاوشگر TCP keepalive پیش از صرف‌نظر کردن و قطع اتصال (در صورت پشتیبانی سیستم‌عامل) ارسال شود\&. اگر تنظیم نشده باشد، مقدار پیش‌فرض curl استفاده می‌شود\&. می‌تواند توسط متغیر محیطی \fBGIT_HTTP_KEEPALIVE_COUNT\fR بازنویسی شود\&. .RE .PP http\&.retryAfter .RS 4 زمان انتظار پیش‌فرض بر حسب ثانیه قبل از تلاش مجدد، زمانی که سرور پاسخ HTTP 429 (Too Many Requests) را بدون سرآیند Retry\-After برمی‌گرداند\&. پیش‌فرض 0 (تلاش مجدد فوری) است\&. هنگامی که سرآیند Retry\-After وجود داشته باشد، مقدار آن بر این تنظیم اولویت دارد؛ با این حال، استفاده خودکار از سرآیند \fBRetry\-After\fR ارائه‌شده توسط سرور نیازمند libcurl نسخه 7\&.66\&.0 یا جدیدتر است\&. در نسخه‌های قدیمی‌تر، این تنظیم را به صورت دستی پیکربندی کنید تا تاخیر تلاش مجدد را کنترل نمایید\&. می‌تواند توسط متغیر محیطی \fBGIT_HTTP_RETRY_AFTER\fR بازنویسی شود\&. همچنین ببینید \fBhttp\&.maxRetries\fR و \fBhttp\&.maxRetryTime\fR\&. .RE .PP http\&.maxRetries .RS 4 حداکثر تعداد دفعات تلاش مجدد پس از دریافت پاسخ‌های HTTP 429 (Too Many Requests)\&. برای غیرفعال کردن تلاش‌های مجدد، آن را روی 0 (پیش‌فرض) قرار دهید\&. می‌تواند توسط متغیر محیطی \fBGIT_HTTP_MAX_RETRIES\fR بازنویسی شود\&. همچنین ببینید \fBhttp\&.retryAfter\fR و \fBhttp\&.maxRetryTime\fR\&. .RE .PP http\&.maxRetryTime .RS 4 حداکثر زمان بر حسب ثانیه برای انتظار جهت یک تلاش مجدد منفرد هنگام رسیدگی به پاسخ‌های HTTP 429 (Too Many Requests)\&. اگر سرور درخواست تاخیر کند (از طریق سرآیند Retry\-After) یا اگر \fBhttp\&.retryAfter\fR با مقداری پیکربندی شده باشد که از این حداکثر فراتر رود، Git به جای انتظار بلافاصله با خطا متوقف می‌شود\&. پیش‌فرض 300 ثانیه (5 دقیقه) است\&. می‌تواند توسط متغیر محیطی \fBGIT_HTTP_MAX_RETRY_TIME\fR بازنویسی شود\&. همچنین ببینید \fBhttp\&.retryAfter\fR و \fBhttp\&.maxRetries\fR\&. .RE .PP http\&.noEPSV .RS 4 یک مقدار بولی که استفاده از دستور ftp موسوم به EPSV توسط curl را غیرفعال می‌کند\&. این می‌تواند در مواجهه با برخی سرورهای ftp ضعیف که از حالت EPSV پشتیبانی نمی‌کنند مفید باشد\&. می‌تواند توسط متغیر محیطی \fBGIT_CURL_FTP_NO_EPSV\fR بازنویسی شود\&. پیش‌فرض false است (curl از EPSV استفاده خواهد کرد)\&. .RE .PP http\&.userAgent .RS 4 رشته USER_AGENT پروتکل HTTP ارائه‌شده به یک سرور HTTP\&. مقدار پیش‌فرض بیانگر نسخه کلاینت Git است، مانند git/1\&.7\&.1\&. این گزینه به شما امکان می‌دهد این مقدار را با مقداری متداول‌تر مانند Mozilla/4\&.0 بازنویسی کنید\&. برای نمونه، در صورتی که اتصال از طریق یک فایروال انجام شود که اتصالات HTTP را به مجموعه‌ای از رشته‌های متداول USER_AGENT محدود می‌کند (و مواردی مانند git/1\&.7\&.1 را در بر نمی‌گیرد)، ممکن است لازم باشد\&. می‌تواند توسط متغیر محیطی \fBGIT_HTTP_USER_AGENT\fR بازنویسی شود\&. .RE .PP http\&.followRedirects .RS 4 آیا git باید تغییر مسیرهای HTTP را دنبال کند یا خیر\&. اگر روی \fBtrue\fR تنظیم شود، git به صورت شفاف هرگونه تغییر مسیری که توسط سرور صادر شود را دنبال خواهد کرد\&. اگر روی \fBfalse\fR تنظیم شود، git با تمام تغییر مسیرها به عنوان خطا برخورد می‌کند\&. اگر روی \fBinitial\fR تنظیم شود، git تغییر مسیرها را تنها برای درخواست اولیه به یک ریموت دنبال می‌کند، اما نه برای درخواست‌های متوالی بعدی HTTP\&. از آنجا که git از URL تغییر مسیر یافته به عنوان مبنا برای درخواست‌های بعدی استفاده می‌کند، این حالت عموماً کافی است\&. مقدار پیش‌فرض \fBinitial\fR است\&. .RE .PP http\&.\&.* .RS 4 هر یک از گزینه‌های http\&.* بالا را می‌توان به صورت انتخابی روی برخی URLها اعمال کرد\&. برای اینکه یک کلید پیکربندی با یک URL مطابقت داشته باشد، هر عنصر از کلید پیکربندی با عنصر متناظر در URL، به ترتیب زیر مقایسه می‌شود: .sp .RS 4 .ie n \{\ \h'-04' 1.\h'+01'\c .\} .el \{\ .sp -1 .IP " 1." 4.2 .\} طرح (مثلاً \fBhttps\fR در \fBhttps://example\&.com/\fR)\&. این فیلد باید بین کلید پیکربندی و URL دقیقاً مطابقت داشته باشد\&. .RE .sp .RS 4 .ie n \{\ \h'-04' 2.\h'+01'\c .\} .el \{\ .sp -1 .IP " 2." 4.2 .\} نام میزبان/دامنه (مثلاً \fBexample\&.com\fR در \fBhttps://example\&.com/\fR)\&. این فیلد باید بین کلید پیکربندی و URL مطابقت داشته باشد\&. امکان تعیین یک \fB*\fR به عنوان بخشی از نام میزبان برای تطبیق با تمام زیردامنه‌ها در این سطح وجود دارد\&. برای مثال \fBhttps://*\&.example\&.com/\fR با \fBhttps://foo\&.example\&.com/\fR مطابقت دارد، اما با \fBhttps://foo\&.bar\&.example\&.com/\fR تطابق ندارد\&. .RE .sp .RS 4 .ie n \{\ \h'-04' 3.\h'+01'\c .\} .el \{\ .sp -1 .IP " 3." 4.2 .\} شماره پورت (مثلاً \fB8080\fR در \fBhttp://example\&.com:8080/\fR)\&. این فیلد باید بین کلید پیکربندی و URL دقیقاً مطابقت داشته باشد\&. شماره پورت‌های حذف‌شده قبل از تطبیق به طور خودکار به مقدار پیش‌فرض صحیح برای طرح مربوطه تبدیل می‌شوند\&. .RE .sp .RS 4 .ie n \{\ \h'-04' 4.\h'+01'\c .\} .el \{\ .sp -1 .IP " 4." 4.2 .\} مسیر (مثلاً \fBrepo\&.git\fR در \fBhttps://example\&.com/repo\&.git\fR)\&. فیلد مسیر کلید پیکربندی باید با فیلد مسیر URL به صورت دقیق یا به عنوان پیشوندی از عناصر مسیر تفکیک‌شده با اسلش مطابقت داشته باشد\&. این بدان معناست که یک کلید پیکربندی با مسیر \fBfoo/\fR با مسیر URL \fBfoo/bar\fR تطابق دارد\&. یک پیشوند تنها می‌تواند روی مرز اسلش (\fB/\fR) مطابقت یابد\&. تطابق‌های طولانی‌تر اولویت دارند (بنابراین یک کلید پیکربندی با مسیر \fBfoo/bar\fR نسبت به کلید پیکربندی با صرف مسیر \fBfoo/\fR تطابق بهتری با مسیر URL \fBfoo/bar\fR دارد)\&. .RE .sp .RS 4 .ie n \{\ \h'-04' 5.\h'+01'\c .\} .el \{\ .sp -1 .IP " 5." 4.2 .\} نام کاربری (مثلاً \fBuser\fR در \fBhttps://user@example\&.com/repo\&.git\fR)\&. اگر کلید پیکربندی دارای نام کاربری باشد، باید دقیقاً با نام کاربری موجود در URL مطابقت داشته باشد\&. اگر کلید پیکربندی نام کاربری نداشته باشد، آن کلید با هر نام کاربری در URL (از جمله بدون نام کاربری) مطابقت خواهد داشت، اما با اولویتی کمتر نسبت به کلید دارای نام کاربری\&. .RE .sp فهرست فوق به ترتیب اولویت نزولی مرتب شده است؛ یک URL که با مسیر یک کلید پیکربندی مطابقت دارد، نسبت به موردی که با نام کاربری آن مطابقت دارد ترجیح داده می‌شود\&. برای مثال، اگر URL برابر با \fBhttps://user@example\&.com/foo/bar\fR باشد، تطابق کلید پیکربندی با \fBhttps://example\&.com/foo\fR بر تطابق کلید پیکربندی با \fBhttps://user@example\&.com\fR ترجیح داده خواهد شد\&. .sp تمامی URLها قبل از هرگونه تلاش برای تطبیق، یکسان‌سازی (نرمال‌سازی) می‌شوند (بخش گذرواژه، در صورت وجود در URL، برای مقاصد تطبیق همیشه نادیده گرفته می‌شود) تا URLهای معادل که صرفاً املای متفاوتی دارند به درستی تطبیق یابند\&. تنظیمات متغیرهای محیطی همواره بر هرگونه تطبیقی اولویت دارند\&. URLهایی که مورد مقایسه قرار می‌گیرند، مواردی هستند که مستقیماً به دستورات Git داده می‌شوند\&. این بدان معنی است که هرگونه URL بازدیدشده در نتیجه تغییر مسیر در تطبیق شرکت نمی‌کند\&. .RE .PP i18n\&.commitEncoding .RS 4 کدگذاری نویسه‌ها که پیام‌های ثبت در آن ذخیره می‌شوند؛ خود Git به خودی خود اهمیتی به آن نمی‌دهد، اما این اطلاعات مثلاً هنگام وارد کردن کامیت‌ها از ایمیل‌ها یا در مرورگر گرافیکی تاریخچه gitk (و احتمالاً در مکان‌های دیگر در آینده یا در سایر رابط‌های سطح بالا) ضروری است\&. به عنوان مثال رجوع کنید به \fBgit-mailinfo\fR(1)\&. مقدار پیش‌فرض \fIutf\-8\fR است\&. .RE .PP i18n\&.logOutputEncoding .RS 4 کدگذاری نویسه‌ها که هنگام اجرای \fIgit log\fR و دستورات مرتبط، پیام‌های ثبت به آن تبدیل می‌شوند\&. .RE .PP \fBimap\&.folder\fR .RS 4 پوشه‌ای که نامه‌ها باید در آن قرار گیرند، که معمولاً پوشه پیش‌نویس‌ها (Drafts) است\&. برای مثال: \fBINBOX\&.Drafts\fR, \fBINBOX/Drafts\fR یا [\fBGmail\fR]\fB/Drafts\fR\&. پوشه IMAP برای تعامل حتماً باید مشخص شود؛ مقدار این متغیر پیکربندی به عنوان مقدار پیش‌فرض جایگزین در صورتی که گزینه \fB\-\-folder\fR داده نشده باشد، استفاده می‌شود\&. .RE .PP \fBimap\&.tunnel\fR .RS 4 دستوری که برای ایجاد یک تونل به سرور IMAP استفاده می‌شود تا دستورات به جای استفاده از اتصال مستقیم شبکه‌ای به سرور، از طریق آن هدایت شوند\&. در صورتی که \fBimap\&.host\fR تنظیم نشده باشد، الزامی است\&. .RE .PP \fBimap\&.host\fR .RS 4 یک URL که سرور را مشخص می‌کند\&. از یک پیشوند \fBimap://\fR برای اتصالات غیرامن و یک پیشوند \fBimaps://\fR برای اتصالات امن استفاده کنید\&. هنگامی که \fBimap\&.tunnel\fR تنظیم شده باشد نادیده گرفته می‌شود، اما در غیر این صورت الزامی است\&. .RE .PP \fBimap\&.user\fR .RS 4 نام کاربری مورد استفاده هنگام ورود به سرور\&. .RE .PP \fBimap\&.pass\fR .RS 4 گذرواژه مورد استفاده هنگام ورود به سرور\&. .RE .PP \fBimap\&.port\fR .RS 4 یک عدد صحیح برای پورت اتصال به سرور\&. پیش‌فرض 143 برای میزبان‌های \fBimap://\fR و 993 برای میزبان‌های \fBimaps://\fR است\&. هنگامی که \fBimap\&.tunnel\fR تنظیم شده باشد نادیده گرفته می‌شود\&. .RE .PP \fBimap\&.sslverify\fR .RS 4 یک مقدار بولی برای فعال/غیرفعال کردن اعتبارسنجی گواهی سرور مورد استفاده توسط اتصال SSL/TLS\&. پیش‌فرض \fBtrue\fR است\&. هنگامی که \fBimap\&.tunnel\fR تنظیم شده باشد نادیده گرفته می‌شود\&. .RE .PP \fBimap\&.preformattedHTML\fR .RS 4 یک مقدار بولی برای فعال/غیرفعال کردن استفاده از کدگذاری html هنگام ارسال وصله\&. یک وصله کدگذاری‌شده با html درون تگ‌های \fI
\fR
قرار می‌گیرد و نوع محتوای text/html خواهد داشت\&. جالب اینجاست که فعال کردن این گزینه باعث می‌شود Thunderbird وصله را به صورت یک ایمیل plain/text با format=fixed ارسال کند\&. مقدار پیش‌فرض
\fBfalse\fR
است\&.
.RE
.PP
\fBimap\&.authMethod\fR
.RS 4
روش احراز هویت را برای احراز هویت در سرور IMAP مشخص می‌کند\&. اگر Git با گزینه NO_CURL ساخته شده باشد، یا اگر نسخه curl شما قدیمی‌تر از 7\&.34\&.0 باشد، یا اگر git\-imap\-send را با گزینه
\fB\-\-no\-curl\fR
اجرا می‌کنید، تنها روش‌های پشتیبانی‌شده عبارتند از
\fBPLAIN\fR,
\fBCRAM\-MD5\fR,
\fBOAUTHBEARER\fR
و
\fBXOAUTH2\fR\&. اگر این مقدار تنظیم نشده باشد،
\fBgit\fR
\fBimap\-send\fR
از دستور متنی ساده IMAP یعنی
\fBLOGIN\fR
استفاده می‌کند\&.
.RE
.PP
include\&.path, includeIf\&.\&.path
.RS 4
متغیرهای ویژه برای گنجاندن سایر فایل‌های پیکربندی\&. به بخش "CONFIGURATION FILE" در مستندات اصلی
\fBgit-config\fR(1)،
به ویژه زیربخش‌های "Includes" و "Conditional Includes" مراجعه کنید\&.
.RE
.PP
index\&.recordEndOfIndexEntries
.RS 4
مشخص می‌کند که آیا فایل ایندکس باید شامل بخش "End Of Index Entry" باشد یا خیر\&. این کار زمان بارگذاری ایندکس را در ماشین‌های چندپردازنده‌ای کاهش می‌دهد، اما هنگام خواندن ایندکس با استفاده از نسخه‌های Git پیش از 2\&.20 پیام "ignoring EOIE extension" تولید می‌کند\&. در صورتی که index\&.threads به طور صریح فعال شده باشد پیش‌فرض
\fItrue\fR
است، در غیر این صورت
\fIfalse\fR
می‌باشد\&.
.RE
.PP
index\&.recordOffsetTable
.RS 4
مشخص می‌کند که آیا فایل ایندکس باید شامل بخش "Index Entry Offset Table" باشد یا خیر\&. این کار زمان بارگذاری ایندکس را در ماشین‌های چندپردازنده‌ای کاهش می‌دهد، اما هنگام خواندن ایندکس با استفاده از نسخه‌های Git پیش از 2\&.20 پیام "ignoring IEOT extension" تولید می‌کند\&. در صورتی که index\&.threads به طور صریح فعال شده باشد پیش‌فرض
\fItrue\fR
است، در غیر این صورت
\fIfalse\fR
می‌باشد\&.
.RE
.PP
index\&.sparse
.RS 4
در صورت فعال بودن، ایندکس را با استفاده از مدخل‌های دایرکتوری خلوت (sparse\-directory) می‌نویسد\&. این گزینه تاثیری ندارد مگر اینکه هر دو
\fBcore\&.sparseCheckout\fR
و
\fBcore\&.sparseCheckoutCone\fR
فعال باشند\&. پیش‌فرض
\fIfalse\fR
است\&.
.RE
.PP
index\&.threads
.RS 4
تعداد نخ‌هایی را مشخص می‌کند که باید هنگام بارگذاری ایندکس ایجاد شوند\&. هدف از این کار کاهش زمان بارگذاری ایندکس روی ماشین‌های چندپردازنده‌ای است\&. تعیین 0 یا
\fItrue\fR
باعث می‌شود Git تعداد CPUها را به طور خودکار شناسایی کرده و تعداد نخ‌ها را متناسب با آن تنظیم کند\&. تعیین 1 یا
\fIfalse\fR
چندنخی را غیرفعال می‌کند\&. پیش‌فرض
\fItrue\fR
است\&.
.RE
.PP
index\&.version
.RS 4
نسخه‌ای را مشخص می‌کند که فایل‌های ایندکس جدید باید با آن مقداردهی اولیه شوند\&. این گزینه بر مخازن موجود تاثیری ندارد\&. اگر
\fBfeature\&.manyFiles\fR
فعال باشد، مقدار پیش‌فرض 4 است\&.
.RE
.PP
index\&.skipHash
.RS 4
در صورت فعال بودن، هش پایانی فایل ایندکس محاسبه نمی‌شود\&. این کار به اجرای سریع‌تر دستورات Git که ایندکس را دستکاری می‌کنند، مانند
\fBgit\fR
\fBadd\fR,
\fBgit\fR
\fBcommit\fR, یا
\fBgit\fR
\fBstatus\fR
کمک می‌کند\&. به جای ذخیره مجموع مقابله‌ای (checksum)، مجموعه‌ای از بایت‌های پایانی با مقدار صفر نوشته می‌شود که نشان می‌دهد از محاسبه صرف‌نظر شده است\&.
.sp
اگر
\fBindex\&.skipHash\fR
را فعال کنید، کلاینت‌های Git قدیمی‌تر از 2\&.13\&.0 از تجزیه ایندکس خودداری می‌کنند و کلاینت‌های Git قدیمی‌تر از 2\&.40\&.0 در حین اجرای
\fBgit\fR
\fBfsck\fR
خطا گزارش می‌دهند\&.
.RE
.PP
\fBinit\&.templateDir\fR
.RS 4
دایرکتوری را مشخص می‌کند که الگوها از آن کپی خواهند شد\&. (به بخش "TEMPLATE DIRECTORY" در
\fBgit-init\fR(1)
مراجعه کنید\&.)
.RE
.PP
\fBinit\&.defaultBranch\fR
.RS 4
امکان بازنویسی نام شاخه پیش‌فرض را مثلاً هنگام مقداردهی اولیه یک مخزن جدید فراهم می‌کند\&.
.RE
.PP
\fBinit\&.defaultObjectFormat\fR
.RS 4
امکان بازنویسی قالب پیش‌فرض شیء را برای مخازن جدید فراهم می‌کند\&. ببینید
\fB\-\-object\-format=\fR
در
\fBgit-init\fR(1)\&. هم گزینه خط فرمان و هم متغیر محیطی
\fBGIT_DEFAULT_HASH\fR
بر این پیکربندی اولویت دارند\&.
.RE
.PP
\fBinit\&.defaultRefFormat\fR
.RS 4
امکان بازنویسی قالب پیش‌فرض ذخیره‌سازی مراجع را برای مخازن جدید فراهم می‌کند\&. ببینید
\fB\-\-ref\-format=\fR
در
\fBgit-init\fR(1)\&. هم گزینه خط فرمان و هم متغیر محیطی
\fBGIT_DEFAULT_REF_FORMAT\fR
بر این پیکربندی اولویت دارند\&.
.RE
.PP
init\&.defaultSubmodulePathConfig
.RS 4
یک مقدار بولی که مشخص می‌کند آیا
\fBgit\fR
\fBinit\fR
و
\fBgit\fR
\fBclone\fR
باید به طور خودکار
\fBextensions\&.submodulePathConfig\fR
را روی
\fBtrue\fR
تنظیم کنند یا خیر\&. این به تمام مخازن جدید اجازه می‌دهد تا به صورت خودکار از افزونه مسیر زیرماژول استفاده کنند\&. در صورت عدم تنظیم، پیش‌فرض
\fBfalse\fR
است\&.
.RE
.PP
instaweb\&.browser
.RS 4
برنامه‌ای را مشخص می‌کند که برای مرور مخزن کاری شما در gitweb استفاده خواهد شد\&. ببینید
\fBgit-instaweb\fR(1)\&.
.RE
.PP
instaweb\&.httpd
.RS 4
خط فرمان دیمن HTTP برای راه‌اندازی gitweb روی مخزن کاری شما\&. ببینید
\fBgit-instaweb\fR(1)\&.
.RE
.PP
instaweb\&.local
.RS 4
اگر روی true تنظیم باشد، وب‌سرور راه‌اندازی‌شده توسط
\fBgit-instaweb\fR(1)
به IP محلی (127\&.0\&.0\&.1) متصل خواهد شد\&.
.RE
.PP
instaweb\&.modulePath
.RS 4
مسیر پیش‌فرض ماژول برای استفاده توسط
\fBgit-instaweb\fR(1)
به جای /usr/lib/apache2/modules\&. تنها در صورتی استفاده می‌شود که httpd آپاچی باشد\&.
.RE
.PP
instaweb\&.port
.RS 4
شماره پورتی که httpd مربوط به gitweb باید به آن متصل شود\&. ببینید
\fBgit-instaweb\fR(1)\&.
.RE
.PP
interactive\&.singleKey
.RS 4
هنگامی که روی true تنظیم شود، به کاربر اجازه می‌دهد در دستورات تعاملی ورودی یک‌حرفی را با فشردن یک کلید (یعنی بدون فشردن کلید Enter) ارائه دهد\&. این در حال حاضر توسط حالت
\fB\-\-patch\fR
در دستورات
\fBgit-add\fR(1),
\fBgit-checkout\fR(1),
\fBgit-restore\fR(1),
\fBgit-commit\fR(1),
\fBgit-reset\fR(1) و
\fBgit-stash\fR(1)
استفاده می‌شود\&.
.RE
.PP
interactive\&.diffFilter
.RS 4
هنگامی که یک دستور تعاملی (مانند
\fBgit\fR
\fBadd\fR
\fB\-\-patch\fR)
یک diff رنگی را نشان می‌دهد، git تفاضل (diff) را از طریق دستور شل تعریف‌شده توسط این متغیر پیکربندی هدایت (pipe) می‌کند\&. این دستور می‌تواند diff را برای درک بهتر توسط انسان بیشتر نشانه‌گذاری کند، به شرط آنکه تطابق یک‌به‌یک با خطوط diff اصلی حفظ شود\&. پیش‌فرض غیرفعال است (بدون فیلتر کردن)\&.
.RE
.PP
\fBlog\&.abbrevCommit\fR
.RS 4
اگر
\fBtrue\fR
باشد، باعث می‌شود
\fBgit-log\fR(1),
\fBgit-show\fR(1) و
\fBgit-whatchanged\fR(1)
گزینه
\fB\-\-abbrev\-commit\fR
را فرض بگیرند\&. می‌توانید این گزینه را با
\fB\-\-no\-abbrev\-commit\fR
بازنویسی کنید\&.
.RE
.PP
\fBlog\&.date\fR
.RS 4
حالت پیش‌فرض تاریخ\-زمان را برای دستور
\fBlog\fR
تنظیم می‌کند\&. تنظیم یک مقدار برای log\&.date مشابه استفاده از گزینه
\fB\-\-date\fR
در
\fBgit\fR
\fBlog\fR
است\&. برای جزئیات به
\fBgit-log\fR(1)
مراجعه کنید\&.
.sp
اگر قالب روی "auto:foo" تنظیم شده باشد و صفحه‌بند در حال استفاده باشد، از قالب "foo" برای تاریخ استفاده خواهد شد\&. در غیر این صورت از "default" استفاده می‌شود\&.
.RE
.PP
\fBlog\&.decorate\fR
.RS 4
نام‌های مراجع مربوط به هر کامیت نمایش‌داده‌شده توسط دستور log را چاپ می‌کند\&. مقادیر ممکن عبارتند از:
.PP
\fBshort\fR
.RS 4
پیشوندهای نام مرجع
\fBrefs/heads/\fR,
\fBrefs/tags/\fR
و
\fBrefs/remotes/\fR
چاپ نمی‌شوند\&.
.RE
.PP
\fBfull\fR
.RS 4
نام کامل مرجع (شامل پیشوند) چاپ می‌شود\&.
.RE
.PP
\fBauto\fR
.RS 4
اگر خروجی به یک ترمینال برود، نام‌های مراجع به گونه‌ای نمایش داده می‌شوند که گویی
\fBshort\fR
داده شده است، در غیر این صورت هیچ نام مرجعی نمایش داده نمی‌شود\&.
.RE
.sp
این معادل با گزینه
\fB\-\-decorate\fR
در
\fBgit\fR
\fBlog\fR
است\&.
.RE
.PP
\fBlog\&.initialDecorationSet\fR
.RS 4
به‌طور پیش‌فرض،
\fBgit\fR
\fBlog\fR
نشانه‌ها (decorations) را فقط برای فضاهای نام مرجع شناخته‌شده مشخصی نمایش می‌دهد\&. اگر
\fIall\fR
مشخص شود، همه مراجع به عنوان نشانه نمایش داده می‌شوند\&.
.RE
.PP
\fBlog\&.excludeDecoration\fR
.RS 4
الگوهای مشخص‌شده را از نشانه‌های لاگ مستثنی می‌کند\&. این شبیه به گزینه خط فرمان
\fB\-\-decorate\-refs\-exclude\fR
است، اما این گزینه پیکربندی می‌تواند توسط گزینه
\fB\-\-decorate\-refs\fR
لغو و بازنویسی شود\&.
.RE
.PP
\fBlog\&.diffMerges\fR
.RS 4
قالب diff مورد استفاده را زمانی که
\fB\-\-diff\-merges=on\fR
مشخص شده است تنظیم می‌کند؛ برای جزئیات
\fB\-\-diff\-merges\fR
را در
\fBgit-log\fR(1)
ببینید\&. پیش‌فرض روی
\fBseparate\fR
است\&.
.RE
.PP
\fBlog\&.follow\fR
.RS 4
اگر
\fBtrue\fR
باشد، زمانی که یک  واحد داده می‌شود،
\fBgit\fR
\fBlog\fR
به گونه‌ای عمل می‌کند که گویی گزینه
\fB\-\-follow\fR
استفاده شده است\&. این مورد همان محدودیت‌های
\fB\-\-follow\fR
را دارد، یعنی نمی‌توان از آن برای دنبال کردن چندین فایل استفاده کرد و روی تاریخچه غیرخطی به خوبی کار نمی‌کند\&.
.RE
.PP
\fBlog\&.graphColors\fR
.RS 4
فهرستی از رنگ‌ها، جداشده با کاما، که می‌توان از آن‌ها برای رسم خطوط تاریخچه در
\fBgit\fR
\fBlog\fR
\fB\-\-graph\fR
استفاده کرد\&.
.RE
.PP
\fBlog\&.showRoot\fR
.RS 4
اگر true باشد، کامیت اولیه به عنوان یک رویداد بزرگ ایجاد نمایش داده خواهد شد\&. این معادل یک diff در برابر یک درخت خالی است\&. ابزارهایی مانند
\fBgit-log\fR(1)
یا
\fBgit-whatchanged\fR(1)
که معمولاً کامیت ریشه را پنهان می‌کنند، اکنون آن را نمایش خواهند داد\&. به‌طور پیش‌فرض true است\&.
.RE
.PP
\fBlog\&.showSignature\fR
.RS 4
اگر true باشد، باعث می‌شود
\fBgit-log\fR(1)،
\fBgit-show\fR(1)
و
\fBgit-whatchanged\fR(1)
فرض کنند که
\fB\-\-show\-signature\fR
مشخص شده است\&.
.RE
.PP
\fBlog\&.mailmap\fR
.RS 4
اگر true باشد، باعث می‌شود
\fBgit-log\fR(1)،
\fBgit-show\fR(1)
و
\fBgit-whatchanged\fR(1)
فرض کنند که
\fB\-\-use\-mailmap\fR
مشخص شده است، در غیر این صورت
\fB\-\-no\-use\-mailmap\fR
فرض می‌شود\&. به‌طور پیش‌فرض true است\&.
.RE
.PP
lsrefs\&.unborn
.RS 4
می‌تواند "advertise" (پیش‌فرض)، "allow" یا "ignore" باشد\&. اگر "advertise" باشد، کارساز (سرور) به کلاینتی که "unborn" ارسال می‌کند پاسخ خواهد داد (همان‌طور که در
\fBgitprotocol-v2\fR(5)
توصیف شده است) و پشتیبانی از این ویژگی را در طول اعلان قابلیت‌های پروتکل نسخه ۲ تبلیغ (اعلام) خواهد کرد\&. مقدار "allow" همانند "advertise" است با این تفاوت که سرور پشتیبانی از این ویژگی را اعلام نخواهد کرد؛ این قابلیت برای سرورهای با بار متوازن (load\-balanced) که نمی‌توانند به‌صورت هم‌زمان و یکپارچه به‌روزرسانی شوند مفید است (برای مثال)، زیرا مدیر سیستم می‌تواند ابتدا "allow" را پیکربندی کرده و سپس پس از مدتی تأخیر، "advertise" را تنظیم نماید\&.
.RE
.PP
mailinfo\&.scissors
.RS 4
اگر true باشد، باعث می‌شود
\fBgit-mailinfo\fR(1)
(و در نتیجه
\fBgit-am\fR(1))
به‌طور پیش‌فرض به گونه‌ای عمل کنند که گویی گزینه \-\-scissors در خط فرمان ارائه شده است\&. هنگامی که فعال باشد، این ویژگی همه چیز را از بدنه پیام قبل از خط قیچی (scissors line، یعنی خطی عمدتاً شامل ">8"، "8<" و "\-") حذف می‌کند\&.
.RE
.PP
mailmap\&.file
.RS 4
مکان یک فایل mailmap تکمیلی\&. فایل mailmap پیش‌فرض واقع در ریشه مخزن، ابتدا بارگذاری می‌شود و سپس فایل mailmap که توسط این متغیر مشخص شده است\&. مکان فایل mailmap می‌تواند در یک زیرپوشه از مخزن یا در جایی بیرون از خود مخزن باشد\&. ببینید:
\fBgit-shortlog\fR(1)
و
\fBgit-blame\fR(1)\&.
.RE
.PP
mailmap\&.blob
.RS 4
مشابه
\fBmailmap\&.file\fR،
اما مقدار را به عنوان مرجعی به یک blob در مخزن در نظر می‌گیرد\&. اگر هر دو
\fBmailmap\&.file\fR
و
\fBmailmap\&.blob\fR
مشخص شوند، هر دو تجزیه می‌شوند و مدخل‌های
\fBmailmap\&.file\fR
اولویت خواهند داشت\&. در یک مخزن bare، مقدار پیش‌فرض آن
\fBHEAD:\&.mailmap\fR
است\&. در مخزن غیر bare، مقدار پیش‌فرض خالی است\&.
.RE
.PP
maintenance\&.auto
.RS 4
این گزینه پیکربندی بولی کنترل می‌کند که آیا برخی دستورات پس از انجام کار عادی خود،
\fBgit\fR
\fBmaintenance\fR
\fBrun\fR
\fB\-\-auto\fR
را اجرا کنند یا خیر\&. پیش‌فرض روی true است\&.
.RE
.PP
maintenance\&.autoDetach
.RS 4
بسیاری از دستورات Git پس از نوشتن داده‌ها در مخزن، نگهداری خودکار را راه‌اندازی می‌کنند\&. این گزینه پیکربندی بولی کنترل می‌کند که آیا این نگهداری خودکار باید در پیش‌زمینه انجام شود یا اینکه فرآیند نگهداری باید جدا شده (detach) و در پس‌زمینه به اجرا ادامه دهد\&.
.sp
در صورت تنظیم نشدن، مقدار
\fBgc\&.autoDetach\fR
به عنوان جایگزین استفاده می‌شود\&. اگر هر دو تنظیم نشده باشند، پیش‌فرض true است، به این معنی که فرآیند نگهداری جدا خواهد شد\&.
.RE
.PP
maintenance\&.strategy
.RS 4
این گزینه پیکربندی رشته‌ای راهکاری برای تعیین یکی از راهبردهای توصیه‌شده برای نگهداری مخزن فراهم می‌کند\&. این تنظیم تعیین می‌کند که در حین اجرای
\fBgit\fR
\fBmaintenance\fR
\fBrun\fR
چه وظایفی اجرا شوند، به شرطی که هیچ آرگومان
\fB\-\-task=\fR\fI\fR
ارائه نشده باشد\&. این تنظیم بر نگهداری دستی، نگهداری خودکار و همچنین نگهداری زمان‌بندی‌شده تأثیر می‌گذارد\&. وظایفی که اجرا می‌شوند ممکن است بسته به نوع نگهداری متفاوت باشند\&.
.sp
راهبرد نگهداری را می‌توان با تنظیم
\fBmaintenance\&.\fR\fI\fR\fB\&.enabled\fR
و
\fBmaintenance\&.\fR\fI\fR\fB\&.schedule\fR
بیشتر سفارشی کرد\&. در صورت تنظیم، این مقادیر به جای مقادیر پیش‌فرض ارائه‌شده توسط
\fBmaintenance\&.strategy\fR
استفاده می‌شوند\&.
.sp
راهبردهای ممکن عبارتند از:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBnone\fR: این راهبرد به این معنی است که هیچ وظیفه‌ای اصلاً اجرا نمی‌شود\&. این راهبرد پیش‌فرض برای نگهداری زمان‌بندی‌شده است\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBgc\fR: این راهبرد وظیفه
\fBgc\fR
را اجرا می‌کند\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBgeometric\fR: این راهبرد بسته‌بندی مجدد هندسی (geometric repacking) فایل‌های بسته را انجام داده و ساختارهای داده کمکی را به‌روز نگه می‌دارد\&. این راهبرد داده‌ها را در reflog منقضی می‌کند و درخت‌های کاری (worktrees) را که دیگر قابل مکان‌یابی نیستند حذف می‌نماید\&. هنگامی که راهبرد بسته‌بندی مجدد هندسی تصمیم بگیرد یک بسته‌بندی همه در یک (all\-into\-one) انجام دهد، برای تمام اشیاء غیرقابل‌دسترس یک cruft pack ایجاد می‌کند\&. اشیایی که از قبل بخشی از یک cruft pack هستند منقضی خواهند شد\&.
.sp
این راهبرد بسته‌بندی مجدد، جایگزینی کامل برای راهبرد
\fBgc\fR
بوده و برای مخازن بزرگ توصیه می‌شود\&. این راهبرد پیش‌فرض برای نگهداری دستی است\&. *
\fBincremental\fR: این تنظیم برای انجام فعالیت‌های نگهداری کوچک که هیچ داده‌ای را حذف نمی‌کنند بهینه‌سازی شده است\&. این گزینه وظیفه
\fBgc\fR
را زمان‌بندی نمی‌کند، بلکه وظایف
\fBprefetch\fR
و
\fBcommit\-graph\fR
را به‌صورت ساعتی، وظایف
\fBloose\-objects\fR
و
\fBincremental\-repack\fR
را به‌صورت روزانه، و وظیفه
\fBpack\-refs\fR
را به‌صورت هفتگی اجرا می‌کند\&. نگهداری دستی مخزن از وظیفه
\fBgc\fR
استفاده می‌کند\&.
.RE
.RE
.PP
maintenance\&.\&.enabled
.RS 4
این گزینه پیکربندی بولی کنترل می‌کند که آیا وظیفه نگهداری با نام
\fI\fR
زمانی که هیچ گزینه
\fB\-\-task\fR
به
\fBgit\fR
\fBmaintenance\fR
\fBrun\fR
مشخص نشده باشد اجرا شود یا خیر\&. در صورت وجود گزینه
\fB\-\-task\fR،
این مقادیر پیکربندی نادیده گرفته می‌شوند\&. به‌طور پیش‌فرض، فقط
\fBmaintenance\&.gc\&.enabled\fR
برابر با true است\&.
.RE
.PP
maintenance\&.\&.schedule
.RS 4
این گزینه پیکربندی کنترل می‌کند که آیا
\fI\fR
داده‌شده در طول یک دستور
\fBgit\fR
\fBmaintenance\fR
\fBrun\fR
\fB\-\-schedule=\fR\fI\fR
اجرا شود یا خیر\&. مقدار باید یکی از "hourly"، "daily" یا "weekly" باشد\&.
.RE
.PP
maintenance\&.commit\-graph\&.auto
.RS 4
این گزینه پیکربندی عدد صحیح کنترل می‌کند که وظیفه
\fBcommit\-graph\fR
هر چند وقت یک‌بار باید به عنوان بخشی از
\fBgit\fR
\fBmaintenance\fR
\fBrun\fR
\fB\-\-auto\fR
اجرا شود\&. اگر صفر باشد، وظیفه
\fBcommit\-graph\fR
با گزینه
\fB\-\-auto\fR
اجرا نخواهد شد\&. یک مقدار منفی وظیفه را مجبور می‌کند که هر بار اجرا شود\&. در غیر این صورت، یک مقدار مثبت به این معنی است که دستور باید زمانی اجرا شود که تعداد کامیت‌های قابل‌دسترس که در فایل commit\-graph نیستند حداقل به اندازه مقدار
\fBmaintenance\&.commit\-graph\&.auto\fR
باشد\&. مقدار پیش‌فرض ۱۰۰ است\&.
.RE
.PP
maintenance\&.loose\-objects\&.auto
.RS 4
این گزینه پیکربندی عدد صحیح کنترل می‌کند که وظیفه
\fBloose\-objects\fR
هر چند وقت یک‌بار باید به عنوان بخشی از
\fBgit\fR
\fBmaintenance\fR
\fBrun\fR
\fB\-\-auto\fR
اجرا شود\&. اگر صفر باشد، وظیفه
\fBloose\-objects\fR
با گزینه
\fB\-\-auto\fR
اجرا نخواهد شد\&. یک مقدار منفی وظیفه را مجبور می‌کند که هر بار اجرا شود\&. در غیر این صورت، یک مقدار مثبت به این معنی است که دستور باید زمانی اجرا شود که تعداد اشیاء مستقل (loose objects) حداقل به اندازه مقدار
\fBmaintenance\&.loose\-objects\&.auto\fR
باشد\&. مقدار پیش‌فرض ۱۰۰ است\&.
.RE
.PP
maintenance\&.loose\-objects\&.batchSize
.RS 4
این گزینه پیکربندی عدد صحیح حداکثر تعداد اشیاء مستقل نوشته‌شده در یک فایل بسته در طول وظیفه
\fBloose\-objects\fR
را کنترل می‌کند\&. پیش‌فرض پنجاه هزار است\&. از مقدار
\fB0\fR
برای نشان دادن عدم وجود محدودیت استفاده کنید\&.
.RE
.PP
maintenance\&.incremental\-repack\&.auto
.RS 4
این گزینه پیکربندی عدد صحیح کنترل می‌کند که وظیفه
\fBincremental\-repack\fR
هر چند وقت یک‌بار باید به عنوان بخشی از
\fBgit\fR
\fBmaintenance\fR
\fBrun\fR
\fB\-\-auto\fR
اجرا شود\&. اگر صفر باشد، وظیفه
\fBincremental\-repack\fR
با گزینه
\fB\-\-auto\fR
اجرا نخواهد شد\&. یک مقدار منفی وظیفه را مجبور می‌کند که هر بار اجرا شود\&. در غیر این صورت، یک مقدار مثبت به این معنی است که دستور باید زمانی اجرا شود که تعداد فایل‌های بسته خارج از multi\-pack\-index حداقل به اندازه مقدار
\fBmaintenance\&.incremental\-repack\&.auto\fR
باشد\&. مقدار پیش‌فرض ۱۰ است\&.
.RE
.PP
maintenance\&.geometric\-repack\&.auto
.RS 4
این گزینه پیکربندی عدد صحیح کنترل می‌کند که وظیفه
\fBgeometric\-repack\fR
هر چند وقت یک‌بار باید به عنوان بخشی از
\fBgit\fR
\fBmaintenance\fR
\fBrun\fR
\fB\-\-auto\fR
اجرا شود\&. اگر صفر باشد، وظیفه
\fBgeometric\-repack\fR
با گزینه
\fB\-\-auto\fR
اجرا نخواهد شد\&. یک مقدار منفی وظیفه را مجبور می‌کند که هر بار اجرا شود\&. در غیر این صورت، یک مقدار مثبت به این معنی است که دستور باید یا زمانی اجرا شود که فایل‌های بسته‌ای وجود داشته باشند که برای حفظ تصاعد هندسی نیاز به ادغام با یکدیگر دارند، یا زمانی که حداقل این تعداد شیء مستقل وجود داشته باشد که در یک فایل بسته جدید نوشته شوند\&. مقدار پیش‌فرض ۱۰۰ است\&.
.RE
.PP
maintenance\&.geometric\-repack\&.splitFactor
.RS 4
این گزینه پیکربندی عدد صحیح ضریب مورد استفاده برای دنباله هندسی را کنترل می‌کند\&. برای جزئیات بیشتر گزینه
\fB\-\-geometric=\fR
را در
\fBgit-repack\fR(1)
ببینید\&. پیش‌فرض
\fB2\fR
است\&.
.RE
.PP
maintenance\&.reflog\-expire\&.auto
.RS 4
این گزینه پیکربندی عدد صحیح کنترل می‌کند که وظیفه
\fBreflog\-expire\fR
هر چند وقت یک‌بار باید به عنوان بخشی از
\fBgit\fR
\fBmaintenance\fR
\fBrun\fR
\fB\-\-auto\fR
اجرا شود\&. اگر صفر باشد، وظیفه
\fBreflog\-expire\fR
با گزینه
\fB\-\-auto\fR
اجرا نخواهد شد\&. یک مقدار منفی وظیفه را مجبور می‌کند که هر بار اجرا شود\&. در غیر این صورت، یک مقدار مثبت به این معنی است که دستور باید زمانی اجرا شود که تعداد مدخل‌های منقضی‌شده reflog در وقایع‌نگار مرجع "HEAD" حداقل به اندازه مقدار
\fBmaintenance\&.loose\-objects\&.auto\fR
باشد\&. مقدار پیش‌فرض ۱۰۰ است\&.
.RE
.PP
maintenance\&.rerere\-gc\&.auto
.RS 4
این گزینه پیکربندی عدد صحیح کنترل می‌کند که وظیفه
\fBrerere\-gc\fR
هر چند وقت یک‌بار باید به عنوان بخشی از
\fBgit\fR
\fBmaintenance\fR
\fBrun\fR
\fB\-\-auto\fR
اجرا شود\&. اگر صفر باشد، وظیفه
\fBrerere\-gc\fR
با گزینه
\fB\-\-auto\fR
اجرا نخواهد شد\&. یک مقدار منفی وظیفه را مجبور می‌کند که هر بار اجرا شود\&. در غیر این صورت، هر مقدار مثبت به این معنی است که دستور زمانی اجرا خواهد شد که پوشه "rr\-cache" وجود داشته باشد و حداقل یک مدخل داشته باشد، صرف‌نظر از اینکه بیات (stale) است یا خیر\&. این روش تجربی (heuristic) ممکن است در آینده بهبود یابد\&. مقدار پیش‌فرض ۱ است\&.
.RE
.PP
maintenance\&.worktree\-prune\&.auto
.RS 4
این گزینه پیکربندی عدد صحیح کنترل می‌کند که وظیفه
\fBworktree\-prune\fR
هر چند وقت یک‌بار باید به عنوان بخشی از
\fBgit\fR
\fBmaintenance\fR
\fBrun\fR
\fB\-\-auto\fR
اجرا شود\&. اگر صفر باشد، وظیفه
\fBworktree\-prune\fR
با گزینه
\fB\-\-auto\fR
اجرا نخواهد شد\&. یک مقدار منفی وظیفه را مجبور می‌کند که هر بار اجرا شود\&. در غیر این صورت، یک مقدار مثبت به این معنی است که دستور باید زمانی اجرا شود که تعداد درخت‌های کاری قابل هرس از این مقدار بیشتر شود\&. مقدار پیش‌فرض ۱ است\&.
.RE
.PP
man\&.viewer
.RS 4
برنامه‌هایی را که می‌توان برای نمایش راهنما در قالب
\fIman\fR
استفاده کرد مشخص می‌کند\&. ببینید:
\fBgit-help\fR(1)\&.
.RE
.PP
man\&.\&.cmd
.RS 4
دستور فراخوانی نمایش‌دهنده man مشخص‌شده را تعیین می‌کند\&. دستور مشخص‌شده در پوسته با صفحه man که به عنوان یک آرگومان ارسال شده است، ارزیابی می‌گردد\&. (ببینید:
\fBgit-help\fR(1)\&.)
.RE
.PP
man\&.\&.path
.RS 4
مسیر ابزار داده‌شده را که ممکن است برای نمایش راهنما در قالب
\fIman\fR
استفاده شود لغو و جایگزین می‌کند\&. ببینید:
\fBgit-help\fR(1)\&.
.RE
.PP
\fBmerge\&.conflictStyle\fR
.RS 4
سبکی را که در آن قطعه‌های دچار تعارض هنگام ادغام در فایل‌های درخت کاری نوشته می‌شوند مشخص می‌کند\&. حالت پیش‌فرض "merge" است که یک نشانگر تعارض
\fB<<<<<<<\fR،
تغییرات ایجاد شده توسط یک طرف، یک نشانگر
\fB=======\fR،
تغییرات ایجاد شده توسط طرف دیگر، و سپس یک نشانگر
\fB>>>>>>>\fR
را نشان می‌دهد\&. یک سبک جایگزین، "diff3"، یک نشانگر
\fB|||||||\fR
و متن اصلی را قبل از نشانگر
\fB=======\fR
اضافه می‌کند\&. سبک "merge" معمولاً نواحی تعارض کوچک‌تری نسبت به diff3 ایجاد می‌کند، هم به دلیل حذف متن اصلی و هم به این دلیل که وقتی زیرمجموعه‌ای از خطوط در هر دو طرف مطابقت دارند، آن‌ها به سادگی از ناحیه تعارض خارج می‌شوند\&. سبک جایگزین دیگر، "zdiff3"، شبیه به diff3 است اما خطوط منطبق در هر دو طرف را از ناحیه تعارض حذف می‌کند، در صورتی که آن خطوط منطبق در نزدیکی ابتدا یا انتهای یک ناحیه تعارض ظاهر شوند\&.
.RE
.PP
\fBmerge\&.defaultToUpstream\fR
.RS 4
اگر merge بدون هیچ آرگومان کامیتی فراخوانی شود، شاخه‌های بالادست (upstream) پیکربندی‌شده برای شاخه فعلی را با استفاده از آخرین مقادیر مشاهده‌شده ذخیره‌شده در شاخه‌های ردیابی ریموت آن‌ها ادغام می‌کند\&. مقادیر
\fBbranch\&.\fR\fB\&.merge\fR
که شاخه‌های موجود در ریموت مشخص‌شده توسط
\fBbranch\&.\fR\fI\fR\fB\&.remote\fR
را نام می‌برند بررسی شده، و سپس از طریق
\fBremote\&.\fR\fI\fR\fB\&.fetch\fR
به شاخه‌های ردیابی ریموت متناظرشان نگاشت می‌شوند و نوک (tip) این شاخه‌های ردیابی ادغام می‌گردند\&. پیش‌فرض روی true است\&.
.RE
.PP
\fBmerge\&.ff\fR
.RS 4
به‌طور پیش‌فرض، Git هنگام ادغام کامیتی که از نوادگان کامیت فعلی است، یک کامیت ادغام اضافی ایجاد نمی‌کند\&. در عوض، نوک شاخه فعلی به‌صورت فوروارد سریع (fast\-forward) پیش می‌رود\&. هنگامی که روی
\fBfalse\fR
تنظیم شود، این متغیر به Git می‌گوید در چنین حالتی یک کامیت ادغام اضافی ایجاد کند (معادل ارسال گزینه
\fB\-\-no\-ff\fR
از خط فرمان)\&. هنگامی که روی
\fBonly\fR
تنظیم شود، تنها این‌گونه ادغام‌های فوروارد سریع مجاز هستند (معادل ارسال گزینه
\fB\-\-ff\-only\fR
از خط فرمان)\&.
.RE
.PP
\fBmerge\&.verifySignatures\fR
.RS 4
اگر true باشد، این معادل گزینه خط فرمان
\fB\-\-verify\-signatures\fR
است\&. برای جزئیات
\fBgit-merge\fR(1)
را ببینید\&.
.RE
.PP
\fBmerge\&.branchdesc\fR
.RS 4
علاوه بر نام شاخه‌ها، پیام لاگ را با متن توضیحات شاخه مرتبط با آن‌ها نیز پر می‌کند\&. پیش‌فرض false است\&.
.RE
.PP
\fBmerge\&.log\fR
.RS 4
علاوه بر نام شاخه‌ها، پیام لاگ را حداکثر با تعداد مشخص‌شده‌ای از توضیحات تک‌خطی از کامیت‌های واقعی که در حال ادغام هستند پر می‌کند\&. پیش‌فرض false است و true مترادف با ۲۰ می‌باشد\&.
.RE
.PP
\fBmerge\&.suppressDest\fR
.RS 4
با افزودن یک الگوی عمومی (glob) که با نام‌های شاخه‌های یکپارچه‌سازی تطابق دارد به این متغیر پیکربندی چندمقداری، پیام پیش‌فرض ادغام محاسبه‌شده برای ادغام در این شاخه‌های یکپارچه‌سازی، عبارت "into
\fI\fR"
را از عنوان خود حذف خواهد کرد\&.
.sp
یک عنصر با مقدار خالی می‌تواند برای پاک کردن فهرست الگوهای عمومی انباشته‌شده از مدخل‌های پیکربندی قبلی استفاده شود\&. هنگامی که هیچ متغیر
\fBmerge\&.suppressDest\fR
تعریف نشده باشد، مقدار پیش‌فرض
\fBmaster\fR
برای سازگاری با گذشته استفاده می‌شود\&.
.RE
.PP
\fBmerge\&.renameLimit\fR
.RS 4
تعداد فایل‌هایی که در بخش جامع تشخیص تغییر نام در حین ادغام باید در نظر گرفته شوند\&. در صورت عدم تعیین، مقدار پیش‌فرض آن برابر با مقدار
\fBdiff\&.renameLimit\fR
خواهد بود\&. اگر نه
\fBmerge\&.renameLimit\fR
و نه
\fBdiff\&.renameLimit\fR
مشخص نشده باشند، در حال حاضر مقدار پیش‌فرض ۷۰۰۰ است\&. این تنظیم در صورت غیرفعال بودن تشخیص تغییر نام هیچ اثری ندارد\&.
.RE
.PP
\fBmerge\&.renames\fR
.RS 4
آیا Git تغییر نام‌ها را تشخیص دهد یا خیر\&. اگر روی
\fBfalse\fR
تنظیم شود، تشخیص تغییر نام غیرفعال می‌گردد\&. اگر روی
\fBtrue\fR
تنظیم شود، تشخیص پایه تغییر نام فعال می‌شود\&. به‌طور پیش‌فرض برابر با مقدار diff\&.renames است\&.
.RE
.PP
\fBmerge\&.directoryRenames\fR
.RS 4
آیا Git تغییر نام پوشه‌ها را تشخیص دهد یا خیر، که بر سرنوشت فایل‌های جدید اضافه‌شده به یک پوشه در یک طرف تاریخچه در زمان ادغام، هنگامی که آن پوشه در طرف دیگر تاریخچه تغییر نام یافته است، تأثیر می‌گذارد\&. مقادیر ممکن عبارتند از:
.PP
\fBfalse\fR
.RS 4
تشخیص تغییر نام پوشه غیرفعال است، به این معنی که چنین فایل‌های جدیدی در پوشه قدیمی جا خواهند ماند\&.
.RE
.PP
\fBtrue\fR
.RS 4
تشخیص تغییر نام پوشه فعال است، به این معنی که چنین فایل‌های جدیدی به پوشه جدید منتقل خواهند شد\&.
.RE
.PP
\fBconflict\fR
.RS 4
برای چنین مسیرهایی یک تعارض گزارش خواهد شد\&.
.RE
.sp
اگر
\fBmerge\&.renames\fR
برابر با
\fBfalse\fR
باشد،
\fBmerge\&.directoryRenames\fR
نادیده گرفته شده و مانند
\fBfalse\fR
با آن رفتار می‌شود\&. پیش‌فرض
\fBconflict\fR
است\&.
.RE
.PP
\fBmerge\&.renormalize\fR
.RS 4
به Git اعلام می‌کند که نمایش متعارف فایل‌ها در مخزن در طول زمان تغییر کرده است (به عنوان مثال کامیت‌های قبلی فایل‌های متنی را با پایان خط
\fICRLF\fR
ثبت کرده‌اند، اما کامیت‌های اخیر از پایان خط
\fILF\fR
استفاده می‌کنند)\&. در چنین مخزنی، برای هر فایلی که در آن به یک ادغام محتوایی سه‌طرفه نیاز است، Git می‌تواند داده‌های ثبت‌شده در کامیت‌ها را قبل از انجام ادغام به یک شکل متعارف تبدیل کند تا تعارض‌های غیرضروری کاهش یابند\&. برای اطلاعات بیشتر، بخش "Merging branches with differing checkin/checkout attributes" را در
\fBgitattributes\fR(5)
ببینید\&.
.RE
.PP
\fBmerge\&.stat\fR
.RS 4
چه چیزی (در صورت وجود) بین
\fBORIG_HEAD\fR
و نتیجه ادغام در پایان ادغام چاپ شود\&. مقادیر ممکن عبارتند از:
.PP
\fBfalse\fR
.RS 4
چیزی نشان داده نشود\&.
.RE
.PP
\fBtrue\fR
.RS 4
نمایش
\fBgit\fR
\fBdiff\fR
\fB\-\-diffstat\fR
\fB\-\-summary\fR
\fBORIG_HEAD\fR\&.
.RE
.PP
\fBcompact\fR
.RS 4
نمایش
\fBgit\fR
\fBdiff\fR
\fB\-\-compact\-summary\fR
\fBORIG_HEAD\fR\&.
.RE
.sp
اما هر مقدار ناشناخته (مثلاً مقداری که توسط نسخه آینده Git اضافه شده باشد) به جای ایجاد خطا به عنوان
\fBtrue\fR
در نظر گرفته می‌شود\&. پیش‌فرض
\fBtrue\fR
است\&.
.RE
.PP
\fBmerge\&.autoStash\fR
.RS 4
هنگامی که روی
\fBtrue\fR
تنظیم شود، پیش از شروع عملیات به‌طور خودکار یک مدخل موقت استش (stash) ایجاد کرده و پس از پایان عملیات آن را اعمال می‌کند\&. این بدان معناست که می‌توانید ادغام را روی یک درخت کاری کثیف (دارای تغییرات ثبت‌نشده) اجرا کنید\&. با این حال، با احتیاط استفاده کنید: اعمال نهایی استش پس از یک ادغام موفقیت‌آمیز ممکن است به تعارض‌های غیرپیش‌پاافتاده منجر شود\&. این گزینه می‌تواند توسط گزینه‌های
\fB\-\-no\-autostash\fR
و
\fB\-\-autostash\fR
در
\fBgit-merge\fR(1)
لغو و بازنویسی شود\&. پیش‌فرض روی
\fBfalse\fR
است\&.
.RE
.PP
\fBmerge\&.tool\fR
.RS 4
کنترل می‌کند که کدام ابزار ادغام توسط
\fBgit-mergetool\fR(1)
استفاده شود\&. فهرست زیر مقادیر معتبر توکار را نشان می‌دهد\&. هر مقدار دیگری به عنوان یک ابزار ادغام سفارشی در نظر گرفته می‌شود و مستلزم آن است که متغیر متناظر
\fBmergetool\&.\fR\fI\fR\fB\&.cmd\fR
تعریف شده باشد\&.
.RE
.PP
\fBmerge\&.guitool\fR
.RS 4
کنترل می‌کند که در زمان مشخص شدن فلگ
\fB\-g\fR/\fB\-\-gui\fR،
کدام ابزار ادغام توسط
\fBgit-mergetool\fR(1)
استفاده شود\&. فهرست زیر مقادیر معتبر توکار را نشان می‌دهد\&. هر مقدار دیگری به عنوان یک ابزار ادغام سفارشی در نظر گرفته می‌شود و مستلزم آن است که متغیر متناظر
\fBmergetool\&.\fR\fI\fR\fB\&.cmd\fR
تعریف شده باشد\&.
.PP
\fBaraxis\fR
.RS 4
استفاده از Araxis Merge (نیازمند نشست گرافیکی)
.RE
.PP
\fBbc\fR
.RS 4
استفاده از Beyond Compare (نیازمند نشست گرافیکی)
.RE
.PP
\fBbc3\fR
.RS 4
استفاده از Beyond Compare (نیازمند نشست گرافیکی)
.RE
.PP
\fBbc4\fR
.RS 4
استفاده از Beyond Compare (نیازمند نشست گرافیکی)
.RE
.PP
\fBcodecompare\fR
.RS 4
استفاده از Code Compare (نیازمند نشست گرافیکی)
.RE
.PP
\fBdeltawalker\fR
.RS 4
استفاده از DeltaWalker (نیازمند نشست گرافیکی)
.RE
.PP
\fBdiffmerge\fR
.RS 4
استفاده از DiffMerge (نیازمند نشست گرافیکی)
.RE
.PP
\fBdiffuse\fR
.RS 4
استفاده از Diffuse (نیازمند نشست گرافیکی)
.RE
.PP
\fBecmerge\fR
.RS 4
استفاده از ECMerge (نیازمند نشست گرافیکی)
.RE
.PP
\fBemerge\fR
.RS 4
استفاده از Emerge در Emacs
.RE
.PP
\fBexamdiff\fR
.RS 4
استفاده از ExamDiff Pro (نیازمند نشست گرافیکی)
.RE
.PP
\fBguiffy\fR
.RS 4
استفاده از ابزار Diff گویفی (Guiffy) (نیازمند نشست گرافیکی)
.RE
.PP
\fBgvimdiff\fR
.RS 4
استفاده از gVim (نیازمند نشست گرافیکی) با یک چیدمان سفارشی (بخش
\fBBACKEND\fR
\fBSPECIFIC\fR
\fBHINTS\fR
در
\fBgit\fR
\fBhelp\fR
\fBmergetool\fR
را ببینید)
.RE
.PP
\fBgvimdiff1\fR
.RS 4
استفاده از gVim (نیازمند نشست گرافیکی) با چیدمان ۲ پانلی (LOCAL و REMOTE)
.RE
.PP
\fBgvimdiff2\fR
.RS 4
استفاده از gVim (نیازمند نشست گرافیکی) با چیدمان ۳ پانلی (LOCAL، MERGED و REMOTE)
.RE
.PP
\fBgvimdiff3\fR
.RS 4
استفاده از gVim (نیازمند نشست گرافیکی) که در آن فقط فایل MERGED نمایش داده می‌شود
.RE
.PP
\fBkdiff3\fR
.RS 4
استفاده از KDiff3 (نیازمند نشست گرافیکی)
.RE
.PP
\fBmeld\fR
.RS 4
استفاده از Meld (نیازمند نشست گرافیکی) با ادغام خودکار اختیاری (بخش
\fBCONFIGURATION\fR
در
\fBgit\fR
\fBhelp\fR
\fBmergetool\fR
را ببینید)
.RE
.PP
\fBnvimdiff\fR
.RS 4
استفاده از Neovim با یک چیدمان سفارشی (بخش
\fBBACKEND\fR
\fBSPECIFIC\fR
\fBHINTS\fR
در
\fBgit\fR
\fBhelp\fR
\fBmergetool\fR
را ببینید)
.RE
.PP
\fBnvimdiff1\fR
.RS 4
استفاده از Neovim با چیدمان ۲ پانلی (LOCAL و REMOTE)
.RE
.PP
\fBnvimdiff2\fR
.RS 4
استفاده از Neovim با چیدمان ۳ پانلی (LOCAL، MERGED و REMOTE)
.RE
.PP
\fBnvimdiff3\fR
.RS 4
استفاده از Neovim که در آن فقط فایل MERGED نمایش داده می‌شود
.RE
.PP
\fBopendiff\fR
.RS 4
استفاده از FileMerge (نیازمند نشست گرافیکی)
.RE
.PP
\fBp4merge\fR
.RS 4
استفاده از HelixCore P4Merge (نیازمند نشست گرافیکی)
.RE
.PP
\fBsmerge\fR
.RS 4
استفاده از Sublime Merge (نیازمند نشست گرافیکی)
.RE
.PP
\fBtkdiff\fR
.RS 4
استفاده از TkDiff (نیازمند نشست گرافیکی)
.RE
.PP
\fBtortoisemerge\fR
.RS 4
استفاده از TortoiseMerge (نیازمند نشست گرافیکی)
.RE
.PP
\fBvimdiff\fR
.RS 4
استفاده از Vim با یک چیدمان سفارشی (بخش
\fBBACKEND\fR
\fBSPECIFIC\fR
\fBHINTS\fR
در
\fBgit\fR
\fBhelp\fR
\fBmergetool\fR
را ببینید)
.RE
.PP
\fBvimdiff1\fR
.RS 4
استفاده از Vim با چیدمان ۲ پانلی (LOCAL و REMOTE)
.RE
.PP
\fBvimdiff2\fR
.RS 4
استفاده از Vim با چیدمان ۳ پانلی (LOCAL، MERGED و REMOTE)
.RE
.PP
\fBvimdiff3\fR
.RS 4
استفاده از Vim که در آن فقط فایل MERGED نمایش داده می‌شود
.RE
.PP
\fBvscode\fR
.RS 4
استفاده از Visual Studio Code (نیازمند نشست گرافیکی)
.RE
.PP
\fBwinmerge\fR
.RS 4
استفاده از WinMerge (نیازمند نشست گرافیکی)
.RE
.PP
\fBxxdiff\fR
.RS 4
استفاده از xxdiff (نیازمند نشست گرافیکی)
.RE
.RE
.PP
\fBmerge\&.verbosity\fR
.RS 4
میزان خروجی نمایش‌داده‌شده توسط راهبرد ادغام بازگشتی را کنترل می‌کند\&. سطح ۰ هیچ چیزی به جز پیام خطای نهایی در صورت تشخیص تعارض خروجی نمی‌دهد\&. سطح ۱ فقط تعارض‌ها را خروجی می‌دهد، سطح ۲ تعارض‌ها و تغییرات فایل را خروجی می‌دهد\&. سطح ۵ و بالاتر اطلاعات اشکال‌زدایی را خروجی می‌دهد\&. پیش‌فرض سطح ۲ است\&. می‌تواند توسط متغیر محیطی
\fBGIT_MERGE_VERBOSITY\fR
لغو و بازنویسی شود\&.
.RE
.PP
\fBmerge\&.\fR\fI\fR\fB\&.name\fR
.RS 4
یک نام خوانا برای انسان برای یک راه‌انداز ادغام سطح‌پایین سفارشی تعریف می‌کند\&. برای جزئیات
\fBgitattributes\fR(5)
را ببینید\&.
.RE
.PP
\fBmerge\&.\fR\fI\fR\fB\&.driver\fR
.RS 4
دستوری را که یک راه‌انداز ادغام سطح‌پایین سفارشی را پیاده‌سازی می‌کند تعریف می‌نماید\&. برای جزئیات
\fBgitattributes\fR(5)
را ببینید\&.
.RE
.PP
\fBmerge\&.\fR\fI\fR\fB\&.recursive\fR
.RS 4
نام یک راه‌انداز ادغام سطح‌پایین را تعیین می‌کند که هنگام انجام ادغام داخلی میان نیاکان مشترک استفاده شود\&. برای جزئیات
\fBgitattributes\fR(5)
را ببینید\&.
.RE
.PP
\fBmergetool\&.\fR\fI\fR\fB\&.path\fR
.RS 4
مسیر ابزار داده‌شده را لغو و بازنویسی می‌کند\&. این در صورتی مفید است که ابزار شما در
\fB$PATH\fR
نباشد\&.
.RE
.PP
\fBmergetool\&.\fR\fI\fR\fB\&.cmd\fR
.RS 4
دستور فراخوانی ابزار ادغام مشخص‌شده را تعیین می‌کند\&. دستور مشخص‌شده در پوسته با متغیرهای زیر در دسترس ارزیابی می‌شود:
\fBBASE\fR
نام یک فایل موقت حاوی پایه مشترک فایل‌های در حال ادغام است (در صورت موجود بودن)؛
\fBLOCAL\fR
نام یک فایل موقت حاوی محتویات فایل در شاخه فعلی است؛
\fBREMOTE\fR
نام یک فایل موقت حاوی محتویات فایل از شاخه‌ای است که در حال ادغام است؛
\fBMERGED\fR
شامل نام فایلی است که ابزار ادغام باید نتایج یک ادغام موفقیت‌آمیز را در آن بنویسد\&.
.RE
.PP
\fBmergetool\&.\fR\fI\fR\fB\&.hideResolved\fR
.RS 4
به کاربر اجازه می‌دهد مقدار سراسری
\fBmergetool\&.hideResolved\fR
را برای یک ابزار خاص لغو و بازنویسی کند\&. برای شرح کامل
\fBmergetool\&.hideResolved\fR
را ببینید\&.
.RE
.PP
\fBmergetool\&.\fR\fI\fR\fB\&.trustExitCode\fR
.RS 4
برای یک دستور ادغام سفارشی، مشخص می‌کند که آیا می‌توان از کد خروج دستور ادغام برای تعیین موفقیت‌آمیز بودن ادغام استفاده کرد یا خیر\&. اگر این روی true تنظیم نشده باشد، برچسب زمانی فایل مقصد ادغام بررسی می‌شود و در صورتی که فایل به‌روزرسانی شده باشد فرض می‌شود ادغام موفقیت‌آمیز بوده است؛ در غیر این صورت، از کاربر خواسته می‌شود موفقیت ادغام را مشخص کند\&.
.RE
.PP
\fBmergetool\&.meld\&.hasOutput\fR
.RS 4
نسخه‌های قدیمی‌تر
\fBmeld\fR
از گزینه
\fB\-\-output\fR
پشتیبانی نمی‌کنند\&. Git با بررسی خروجی
\fBmeld\fR
\fB\-\-help\fR
تلاش خواهد کرد تشخیص دهد که آیا
\fBmeld\fR
از
\fB\-\-output\fR
پشتیبانی می‌کند یا خیر\&. پیکربندی
\fBmergetool\&.meld\&.hasOutput\fR
باعث می‌شود Git از این بررسی‌ها صرف‌نظر کرده و در عوض از مقدار پیکربندی‌شده استفاده کند\&. تنظیم
\fBmergetool\&.meld\&.hasOutput\fR
روی
\fBtrue\fR
به Git می‌گوید بدون قیدوشرط از گزینه
\fB\-\-output\fR
استفاده کند، و
\fBfalse\fR
از استفاده از
\fB\-\-output\fR
خودداری می‌کند\&.
.RE
.PP
\fBmergetool\&.meld\&.useAutoMerge\fR
.RS 4
هنگامی که گزینه
\fB\-\-auto\-merge\fR
داده می‌شود، meld تمام بخش‌های بدون تعارض را به‌طور خودکار ادغام می‌کند، بخش‌های دارای تعارض را برجسته می‌سازد و منتظر تصمیم کاربر می‌ماند\&. تنظیم
\fBmergetool\&.meld\&.useAutoMerge\fR
روی
\fBtrue\fR
به Git می‌گوید بدون قیدوشرط از گزینه
\fB\-\-auto\-merge\fR
همراه با
\fBmeld\fR
استفاده کند\&. تنظیم این مقدار روی
\fBauto\fR
باعث می‌شود git تشخیص دهد که آیا
\fB\-\-auto\-merge\fR
پشتیبانی می‌شود یا خیر و تنها زمانی که در دسترس باشد از
\fB\-\-auto\-merge\fR
استفاده کند\&. مقدار
\fBfalse\fR
به‌طور کلی از استفاده از
\fB\-\-auto\-merge\fR
خودداری می‌کند و مقدار پیش‌فرض است\&.
.RE
.PP
\fBmergetool\&.\fR\fI\fR\fB\&.layout\fR
.RS 4
چیدمان پنجره تقسیم‌شده (split window) را برای
\fI\fR
مربوط به vimdiff پیکربندی می‌کند، که می‌تواند هر یک از
\fBvimdiff\fR،
\fBnvimdiff\fR
یا
\fBgvimdiff\fR
باشد\&. هنگام راه‌اندازی
\fBgit\fR
\fBmergetool\fR
با
\fB\-\-tool=\fR\fI\fR
(یا بدون
\fB\-\-tool\fR
اگر
\fBmerge\&.tool\fR
به عنوان
\fI\fR
پیکربندی شده باشد)، Git به
\fBmergetool\&.\fR\fI\fR\fB\&.layout\fR
مراجعه می‌کند تا چیدمان ابزار را تعیین کند\&. اگر پیکربندی مخصوص نسخه موجود نباشد، چیدمان
\fBvimdiff\fR
به عنوان جایگزین استفاده می‌شود\&. اگر آن هم موجود نباشد، یک چیدمان پیش‌فرض با ۴ پنجره استفاده خواهد شد\&. برای پیکربندی چیدمان، بخش
\fIBACKEND SPECIFIC HINTS\fR
را در
\fBgit-mergetool\fR(1)
ببینید\&.
.RE
.PP
\fBmergetool\&.hideResolved\fR
.RS 4
در حین یک ادغام، Git به‌طور خودکار تا حد امکان تعارض‌ها را برطرف کرده و فایل
\fB$MERGED\fR
را می‌نویسد که حاوی نشانگرهای تعارض در اطراف هر تعارضی است که نتوانسته آن را برطرف کند؛
\fB$LOCAL\fR
و
\fB$REMOTE\fR
به‌طور معمول نسخه‌های فایل از قبل از حل تعارض توسط Git هستند\&. این فلگ باعث می‌شود
\fB$LOCAL\fR
و
\fB$REMOTE\fR
رونویسی شوند تا فقط تعارض‌های حل‌نشده به ابزار ادغام ارائه گردند\&. می‌تواند برای هر ابزار از طریق متغیر پیکربندی
\fBmergetool\&.\fR\fI\fR\fB\&.hideResolved\fR
پیکربندی شود\&. پیش‌فرض روی
\fBfalse\fR
است\&.
.RE
.PP
\fBmergetool\&.keepBackup\fR
.RS 4
پس از انجام ادغام، فایل اصلی همراه با نشانگرهای تعارض می‌تواند به عنوان فایلی با پسوند
\fB\&.orig\fR
ذخیره شود\&. اگر این متغیر روی
\fBfalse\fR
تنظیم شود، این فایل حفظ نمی‌گردد\&. پیش‌فرض
\fBtrue\fR
است (یعنی فایل‌های پشتیبان نگه‌داری شوند)\&.
.RE
.PP
\fBmergetool\&.keepTemporaries\fR
.RS 4
هنگام فراخوانی یک ابزار ادغام سفارشی، Git از مجموعه‌ای از فایل‌های موقت برای ارسال به ابزار استفاده می‌کند\&. اگر ابزار خطایی بازگرداند و این متغیر روی
\fBtrue\fR
تنظیم شده باشد، این فایل‌های موقت حفظ خواهند شد؛ در غیر این صورت، پس از خروج ابزار حذف می‌شوند\&. پیش‌فرض
\fBfalse\fR
است\&.
.RE
.PP
\fBmergetool\&.writeToTemp\fR
.RS 4
به‌طور پیش‌فرض Git نسخه‌های موقت
\fBBASE\fR،
\fBLOCAL\fR
و
\fBREMOTE\fR
از فایل‌های دارای تعارض را در درخت کاری می‌نویسد\&. هنگامی که روی
\fBtrue\fR
تنظیم شود، Git تلاش خواهد کرد از یک دایرکتوری موقت برای این فایل‌ها استفاده کند\&. پیش‌فرض
\fBfalse\fR
است\&.
.RE
.PP
\fBmergetool\&.prompt\fR
.RS 4
پیش از هر بار فراخوانی برنامه حل تعارض ادغام، اعلان نمایش می‌دهد (تایید می‌گیرد)\&.
.RE
.PP
\fBmergetool\&.guiDefault\fR
.RS 4
روی
\fBtrue\fR
تنظیم کنید تا به‌طور پیش‌فرض از
\fBmerge\&.guitool\fR
استفاده شود (معادل مشخص کردن آرگومان
\fB\-\-gui\fR)،
یا
\fBauto\fR
تا بسته به وجود مقدار متغیر محیطی
\fBDISPLAY\fR،
بین
\fBmerge\&.guitool\fR
یا
\fBmerge\&.tool\fR
انتخاب شود\&. مقدار پیش‌فرض
\fBfalse\fR
است که در آن آرگومان
\fB\-\-gui\fR
باید صریحاً ارائه شود تا
\fBmerge\&.guitool\fR
استفاده گردد\&.
.RE
.PP
\fBnotes\&.mergeStrategy\fR
.RS 4
کدام راهبرد ادغام به‌طور پیش‌فرض هنگام حل تعارض‌های یادداشت‌ها انتخاب شود\&. باید یکی از
\fBmanual\fR،
\fBours\fR،
\fBtheirs\fR،
\fBunion\fR
یا
\fBcat_sort_uniq\fR
باشد\&. پیش‌فرض روی
\fBmanual\fR
است\&. برای اطلاعات بیشتر درباره هر راهبرد، بخش "NOTES MERGE STRATEGIES" را در
\fBgit-notes\fR(1)
ببینید\&.
.sp
این تنظیم را می‌توان با ارسال گزینه
\fB\-\-strategy\fR
به
\fBgit-notes\fR(1)
لغو و بازنویسی کرد\&.
.RE
.PP
\fBnotes\&.\fR\fI\fR\fB\&.mergeStrategy\fR
.RS 4
کدام راهبرد ادغام هنگام انجام ادغام یادداشت‌ها در
\fBrefs/notes/\fR\fI\fR
انتخاب شود\&. این گزینه راهبرد عمومی‌تر
\fBnotes\&.mergeStrategy\fR
را لغو و بازنویسی می‌کند\&. برای اطلاعات بیشتر در مورد راهبردهای موجود، بخش "NOTES MERGE STRATEGIES" را در
\fBgit-notes\fR(1)
ببینید\&.
.RE
.PP
\fBnotes\&.displayRef\fR
.RS 4
علاوه بر مقدار پیش‌فرض تعیین‌شده توسط
\fBcore\&.notesRef\fR
یا
\fBGIT_NOTES_REF\fR،
هنگام نمایش پیام‌های کامیت با خانواده دستورات
\fBgit\fR
\fBlog\fR،
یادداشت‌ها از کدام مرجع (یا مراجع، در صورت استفاده از الگو یا تعیین چندباره) خوانده شوند\&.
.sp
این تنظیم را می‌توان با متغیر محیطی
\fBGIT_NOTES_DISPLAY_REF\fR
که باید فهرستی از مراجع یا الگوهای عمومی جداشده با دو نقطه (:) باشد، لغو و بازنویسی کرد\&.
.sp
برای مراجعی که وجود ندارند هشداری صادر خواهد شد، اما الگویی که با هیچ مرجعی تطابق نداشته باشد بدون صدا نادیده گرفته می‌شود\&.
.sp
این تنظیم را می‌توان با گزینه
\fB\-\-no\-notes\fR
در خانواده دستورات
\fBgit-log\fR(1)
یا با گزینه
\fB\-\-notes=\fR\fI\fR
که توسط آن دستورات پذیرفته می‌شود، غیرفعال کرد\&.
.sp
مقدار مؤثر
\fBcore\&.notesRef\fR
(که احتمالاً توسط
\fBGIT_NOTES_REF\fR
بازنویسی شده است) نیز به‌طور ضمنی به فهرست مراجع قابل نمایش اضافه می‌شود\&.
.RE
.PP
\fBnotes\&.rewrite\&.\fR\fI\fR
.RS 4
هنگام بازنویسی کامیت‌ها با
\fI\fR
(در حال حاضر
\fBamend\fR
یا
\fBrebase\fR)،
اگر این متغیر
\fBfalse\fR
باشد، git یادداشت‌ها را از کامیت اصلی به کامیت بازنویسی‌شده کپی نخواهد کرد\&. پیش‌فرض
\fBtrue\fR
است\&. همچنین
\fBnotes\&.rewriteRef\fR
را در زیر ببینید\&.
.sp
این تنظیم را می‌توان با متغیر محیطی
\fBGIT_NOTES_REWRITE_REF\fR
که باید فهرستی از مراجع یا الگوهای عمومی جداشده با دو نقطه (:) باشد، لغو و بازنویسی کرد\&.
.RE
.PP
\fBnotes\&.rewriteMode\fR
.RS 4
هنگام کپی کردن یادداشت‌ها در طول بازنویسی (گزینه
\fBnotes\&.rewrite\&.\fR\fI\fR
را ببینید)، تعیین می‌کند که در صورت داشتن یادداشت در کامیت مقصد چه اقدامی انجام شود\&. باید یکی از
\fBoverwrite\fR،
\fBconcatenate\fR،
\fBcat_sort_uniq\fR
یا
\fBignore\fR
باشد\&. پیش‌فرض
\fBconcatenate\fR
است\&.
.sp
این تنظیم را می‌توان با متغیر محیطی
\fBGIT_NOTES_REWRITE_MODE\fR
لغو و بازنویسی کرد\&.
.RE
.PP
\fBnotes\&.rewriteRef\fR
.RS 4
هنگام کپی کردن یادداشت‌ها در حین بازنویسی، مرجع (کاملاً واجد شرایط) را مشخص می‌کند که یادداشت‌های آن باید کپی شوند\&. می‌تواند یک الگوی عمومی (glob) باشد که در این صورت یادداشت‌ها در تمام مراجع منطبق کپی خواهند شد\&. همچنین می‌توانید این پیکربندی را چندین بار مشخص کنید\&.
.sp
مقدار پیش‌فرض ندارد؛ برای فعال کردن بازنویسی یادداشت باید این متغیر را پیکربندی کنید\&. برای فعال‌سازی بازنویسی برای یادداشت‌های پیش‌فرض کامیت، آن را روی
\fBrefs/notes/commits\fR
تنظیم کنید\&.
.sp
می‌تواند با متغیر محیطی
\fBGIT_NOTES_REWRITE_REF\fR
لغو و بازنویسی شود\&. برای توضیح بیشتر در مورد قالب آن،
\fBnotes\&.rewrite\&.\fR\fI\fR
را در بالا ببینید\&.
.RE
.PP
pack\&.window
.RS 4
اندازه پنجره مورد استفاده توسط
\fBgit-pack-objects\fR(1)
هنگامی که اندازه پنجره‌ای در خط فرمان داده نشده باشد\&. پیش‌فرض ۱۰ است\&.
.RE
.PP
pack\&.depth
.RS 4
حداکثر عمق دلتا مورد استفاده توسط
\fBgit-pack-objects\fR(1)
هنگامی که حداکثر عمقی در خط فرمان داده نشده باشد\&. پیش‌فرض ۵۰ است\&. حداکثر مقدار ۴۰۹۵ می‌باشد\&.
.RE
.PP
pack\&.windowMemory
.RS 4
حداکثر مقدار حافظه‌ای که توسط هر ریسه (thread) در
\fBgit-pack-objects\fR(1)
برای حافظه پنجره بسته مصرف می‌شود، در صورتی که هیچ محدودیتی در خط فرمان داده نشده باشد\&. مقدار می‌تواند با پسوندهای "k"، "m" یا "g" همراه باشد\&. هنگامی که پیکربندی نشود (یا صریحاً روی 0 تنظیم شود)، هیچ محدودیتی وجود نخواهد داشت\&.
.RE
.PP
pack\&.compression
.RS 4
یک عدد صحیح بین \-1\&.\&.9، که سطح فشرده‌سازی اشیاء را در یک فایل بسته (pack file) مشخص می‌کند\&. \-1 پیش‌فرض zlib است\&. مقدار 0 به معنای عدم فشرده‌سازی است، و 1\&.\&.9 موازنه‌های مختلف میان سرعت و اندازه هستند که 9 کندترین آن‌هاست\&. اگر تنظیم نشود، به صورت پیش‌فرض core\&.compression در نظر گرفته می‌شود\&. اگر آن هم تنظیم نشده باشد، مقدار پیش‌فرض \-1 (پیش‌فرض zlib) خواهد بود، که «یک سازش پیش‌فرض میان سرعت و فشرده‌سازی است (در حال حاضر معادل سطح 6)»\&.
.sp
توجه داشته باشید که تغییر سطح فشرده‌سازی به‌طور خودکار تمام اشیاء موجود را مجدداً فشرده نمی‌کند\&. می‌توانید با دادن گزینه \-F به
\fBgit-repack\fR(1)
فشرده‌سازی مجدد را اجبار کنید\&.
.RE
.PP
pack\&.allowPackReuse
.RS 4
هنگامی که روی true یا "single" تنظیم شده باشد، و بیت‌مپ‌های دسترسی‌پذیری فعال باشند، pack\-objects تلاش خواهد کرد بخش‌هایی از فایل بسته دارای بیت‌مپ را عیناً ارسال کند\&. هنگامی که روی "multi" تنظیم شده باشد، و یک بیت‌مپ دسترسی‌پذیری چندبسته‌ای در دسترس باشد، pack\-objects تلاش خواهد کرد بخش‌هایی از تمام بسته‌ها را در MIDX ارسال کند\&.
.sp
اگر فقط یک بیت‌مپ بسته تکی در دسترس باشد، و
\fBpack\&.allowPackReuse\fR
روی "multi" تنظیم شده باشد، تنها بخش‌هایی از همان فایل بسته دارای بیت‌مپ مجدداً استفاده می‌شود\&. این کار می‌تواند مصرف حافظه و پردازنده را برای پاسخ به واکشی‌ها کاهش دهد، اما ممکن است منجر به ارسال بسته‌ای کمی بزرگ‌تر شود\&. مقدار پیش‌فرض true است\&.
.RE
.PP
pack\&.island
.RS 4
یک عبارت باقاعده گسترش‌یافته (extended regular expression) برای پیکربندی مجموعه‌ای از جزیره‌های دلتا (delta islands)\&. برای جزئیات به بخش "DELTA ISLANDS" در
\fBgit-pack-objects\fR(1)
مراجعه کنید\&.
.RE
.PP
pack\&.islandCore
.RS 4
نام جزیره‌ای را مشخص می‌کند که اشیاء آن باید در ابتدا بسته‌بندی شوند\&. این کار نوعی شبه‌بسته (pseudo\-pack) در ابتدای یک بسته ایجاد می‌کند، به‌طوری‌که اشیاء متعلق به جزیره مشخص‌شده با سرعت بیشتری در هر بسته‌ای که قرار است برای کاربری که آن اشیاء را درخواست کرده ارسال شود، کپی شوند\&. در عمل این بدان معناست که جزیره مشخص‌شده احتمالاً باید با آنچه معمولاً در مخزن کلون می‌شود مطابقت داشته باشد\&. همچنین به "DELTA ISLANDS" در
\fBgit-pack-objects\fR(1)\&.
مراجعه کنید\&.
.RE
.PP
pack\&.deltaCacheSize
.RS 4
حداکثر حافظه بر حسب بایت که برای کش کردن دلتاها در
\fBgit-pack-objects\fR(1)
قبل از نوشتن آن‌ها در یک بسته استفاده می‌شود\&. این کش برای افزایش سرعت مرحله نوشتن اشیاء استفاده می‌شود تا پس از یافتن بهترین تطابق برای تمام اشیاء، نیازی به محاسبه مجدد نتیجه نهایی دلتا نباشد\&. البته بسته‌بندی مجدد مخازن بزرگ در دستگاه‌هایی با حافظه محدود ممکن است از این امر به شدت متأثر شود، به‌ویژه اگر این کش سیستم را به فضای مبادله (swapping) بکشاند\&. مقدار 0 به معنای عدم وجود محدودیت است\&. کوچک‌ترین اندازه یعنی 1 بایت می‌تواند برای غیرفعال کردن مجازی این کش استفاده شود\&. مقدار پیش‌فرض 256 MiB است\&.
.RE
.PP
pack\&.deltaCacheLimit
.RS 4
حداکثر اندازه یک دلتا که در
\fBgit-pack-objects\fR(1)\&.
کش می‌شود\&. این کش برای افزایش سرعت مرحله نوشتن شیء استفاده می‌شود تا پس از یافتن بهترین تطابق برای همه اشیاء، نیازی به محاسبه مجدد نتیجه دلتای نهایی نباشد\&. مقدار پیش‌فرض 1000 است\&. حداکثر مقدار 65535 می‌باشد\&.
.RE
.PP
pack\&.threads
.RS 4
تعداد ریسمان‌هایی (threads) را مشخص می‌کند که هنگام جستجو برای بهترین تطابق‌های دلتا ایجاد می‌شوند\&. این نیازمند آن است که
\fBgit-pack-objects\fR(1)
با پشتیبانی از pthreads کامپایل شده باشد، در غیر این صورت این گزینه با نمایش یک هشدار نادیده گرفته می‌شود\&. این کار برای کاهش زمان بسته‌بندی در ماشین‌های چندپردازنده‌ای در نظر گرفته شده است\&. با این حال، مقدار حافظه مورد نیاز برای پنجره جستجوی دلتا در تعداد ریسمان‌ها ضرب می‌شود\&. تعیین مقدار 0 باعث می‌شود Git تعداد پردازنده‌ها را به‌طور خودکار تشخیص داده و تعداد ریسمان‌ها را متناسب با آن تنظیم کند\&.
.RE
.PP
pack\&.indexVersion
.RS 4
نسخه پیش‌فرض ایندکس بسته را مشخص می‌کند\&. مقادیر معتبر عبارتند از 1 برای ایندکس بسته قدیمی که توسط نسخه‌های Git قبل از 1\&.5\&.2 استفاده می‌شد، و 2 برای ایندکس بسته جدید با قابلیت پشتیبانی از بسته‌های بزرگ‌تر از 4 گیگابایت و همچنین محافظت مناسب در برابر بسته‌بندی مجدد بسته‌های خراب\&. نسخه 2 پیش‌فرض است\&. توجه داشته باشید که هر زمان بسته مربوطه بزرگ‌تر از 2 گیگابایت باشد، نسخه 2 اجباری شده و این گزینه پیکربندی نادیده گرفته می‌شود\&.
.sp
اگر نسخه قدیمی Git را دارید که فایل
\fB*\&.idx\fR
نسخه 2 را درک نمی‌کند، کلون کردن یا واکشی از طریق یک پروتکل غیربومی (مانند "http") که هر دو فایل
\fB*\&.pack\fR
و فایل مربوطه
\fB*\&.idx\fR
را از طرف دیگر کپی می‌کند، ممکن است مخزنی به شما بدهد که با نسخه قدیمی‌تر Git شما قابل دسترسی نباشد\&. اما اگر فایل
\fB*\&.pack\fR
کوچک‌تر از 2 گیگابایت باشد، می‌توانید از
\fBgit-index-pack\fR(1)
روی فایل *\&.pack برای تولید مجدد فایل
\fB*\&.idx\fR
استفاده کنید\&.
.RE
.PP
pack\&.packSizeLimit
.RS 4
حداکثر اندازه یک بسته\&. این تنظیم فقط روی بسته‌بندی در یک فایل هنگام بسته‌بندی مجدد تأثیر می‌گذارد، یعنی پروتکل git:// تحت تأثیر قرار نمی‌گیرد\&. این گزینه می‌تواند با گزینه
\fB\-\-max\-pack\-size\fR
از دستور
\fBgit-repack\fR(1)
بازنویسی شود\&. رسیدن به این محدودیت منجر به ایجاد چندین فایل بسته می‌شود\&.
.sp
توجه داشته باشید که این گزینه به ندرت مفید است و ممکن است منجر به افزایش اندازه کل روی دیسک (زیرا Git دلتاها را میان بسته‌ها ذخیره نمی‌کند) و کارایی ضعیف‌تر در زمان اجرا شود (جستجوی اشیاء در چندین بسته کندتر از یک بسته است، و بهینه‌سازی‌هایی مانند بیت‌مپ‌های دسترسی‌پذیری نمی‌توانند با چند بسته سازگار شوند)\&.
.sp
اگر نیاز دارید Git را با فایل‌های بسته کوچک‌تر اجرا کنید (مثلاً به این دلیل که سیستم فایل شما از فایل‌های بزرگ پشتیبانی نمی‌کند)، این گزینه ممکن است کمک کند\&. اما اگر هدف شما انتقال فایل بسته از طریق رسانه‌ای است که از اندازه‌های محدود پشتیبانی می‌کند (مثلاً رسانه‌های جداشدنی که نمی‌توانند کل مخزن را ذخیره کنند)، احتمالاً بهتر است یک فایل بسته بزرگ تکی ایجاد کرده و آن را با استفاده از یک ابزار عمومی آرشیو چندبخشی (مانند
\fBsplit\fR
در یونیکس) تقسیم کنید\&.
.sp
حداقل اندازه مجاز به 1 MiB محدود شده است\&. پیش‌فرض نامحدود است\&. پسوندهای رایج واحد
\fIk\fR،
\fIm\fR، یا
\fIg\fR
پشتیبانی می‌شوند\&.
.RE
.PP
pack\&.useBitmaps
.RS 4
هنگامی که روی true تنظیم شود، git هنگام بسته‌بندی در stdout (مانند زمان سمت سرور در یک واکشی) از بیت‌مپ‌های بسته (در صورت موجود بودن) استفاده خواهد کرد\&. مقدار پیش‌فرض true است\&. به‌طور کلی نباید نیازی به خاموش کردن این گزینه داشته باشید، مگر اینکه در حال اشکال‌زدایی بیت‌مپ‌های بسته باشید\&.
.RE
.PP
pack\&.useBitmapBoundaryTraversal
.RS 4
هنگامی که روی true تنظیم شود، Git از یک الگوریتم آزمایشی برای محاسبه پرس‌وجوهای دسترسی‌پذیری با بیت‌مپ‌ها استفاده خواهد کرد\&. به جای ساخت بیت‌مپ‌های کامل برای تمام سرشاخه‌های منفی‌شده (negated tips) و سپس اعمال عملگر OR بین آن‌ها، سرشاخه‌های منفی‌شده با بیت‌مپ‌های موجود را افزایشی در نظر می‌گیرد (یعنی اگر وجود داشته باشند، آن‌ها را در نتیجه OR می‌کند و در غیر این صورت از آن‌ها صرف‌نظر می‌کند)، و در عوض یک بیت‌مپ در مرز می‌سازد\&.
.sp
هنگام استفاده از این الگوریتم، Git ممکن است به دلیل باز نکردن درخت‌های متعلق به کامیت‌های خاص UNINTERESTING، اشیاء بسیار زیادی را شامل شود\&. این عدم دقت با الگوریتم پیمایش بدون بیت‌مپ مطابقت دارد\&.
.sp
در بسیاری از موارد، این روش می‌تواند باعث افزایش سرعت نسبت به الگوریتم دقیق شود، به ویژه زمانی که پوشش بیت‌مپ ضعیفی در بخش منفی‌شده پرس‌وجو وجود داشته باشد\&.
.RE
.PP
pack\&.useSparse
.RS 4
هنگامی که روی true تنظیم شود، git به طور پیش‌فرض هنگام حضور گزینه
\fI\-\-sparse\fR
از گزینه
\fI\-\-sparse\fR
در
\fIgit pack\-objects\fR
استفاده خواهد کرد\&. این الگوریتم تنها درخت‌هایی را پیمایش می‌کند که در مسیرهای معرفی‌کننده اشیاء جدید ظاهر می‌شوند\&. این کار می‌تواند هنگام محاسبه یک بسته برای ارسال تغییری کوچک، مزایای عملکردی چشمگیری داشته باشد\&. با این حال، اگر کامیت‌های شامل‌شده دارای انواع خاصی از تغییر نام‌های مستقیم باشند، ممکن است اشیاء اضافی به فایل بسته افزوده شوند\&. پیش‌فرض
\fBtrue\fR
است\&.
.RE
.PP
pack\&.usePathWalk
.RS 4
گزینه
\fB\-\-path\-walk\fR
را به صورت پیش‌فرض برای فرآیندهای
\fBgit\fR
\fBpack\-objects\fR
فعال می‌کند\&. برای جزئیات کامل به
\fBgit-pack-objects\fR(1)
مراجعه کنید\&.
.RE
.PP
pack\&.preferBitmapTips
.RS 4
یک سلسله‌مراتب مرجع (ref hierarchy) را مشخص می‌کند (مانند "refs/heads/")؛ می‌تواند چند بار برای مشخص کردن بیش از یک سلسله‌مراتب داده شود\&. هنگام انتخاب اینکه کدام کامیت‌ها بیت‌مپ دریافت کنند، کامیتی که در سرشاخه (tip) مرجعی قرار دارد که در هر یک از سلسله‌مراتب‌های پیکربندی‌شده گنجانده شده است، در اولویت قرار می‌گیرد\&.
.sp
توجه داشته باشید که تنظیم این پیکربندی روی
\fBrefs/foo/\fR
به این معنی نیست که کامیت‌های موجود در سرشاخه‌های
\fBrefs/foo/bar\fR
و
\fBrefs/foo/baz\fR
لزوماً انتخاب خواهند شد\&. دلیل این امر آن است که کامیت‌ها برای بیت‌مپ‌ها از میان مجموعه‌ای از پنجره‌های با طول متغیر انتخاب می‌شوند\&.
.sp
اگر کامیتی در سرشاخه هر مرجعی که پسوندی از هر مقدار این پیکربندی باشد در یک پنجره دیده شود، بلافاصله بر هر کامیت دیگری در آن پنجره اولویت داده می‌شود\&.
.RE
.PP
pack\&.writeBitmaps (منسوخ‌شده)
.RS 4
این یک مترادف منسوخ‌شده برای
\fBrepack\&.writeBitmaps\fR
است\&.
.RE
.PP
pack\&.writeBitmapHashCache
.RS 4
هنگامی که روی true تنظیم شود، git بخشی تحت عنوان "hash cache" را در ایندکس بیت‌مپ (در صورت نوشته شدن) شامل خواهد کرد\&. این کش می‌تواند برای تغذیه قواعد مکاشفه‌ای دلتا در git استفاده شود، که بالقوه منجر به دلتاهای بهتری میان اشیاء دارای بیت‌مپ و فاقد بیت‌مپ می‌شود (برای مثال، هنگام پاسخ‌گویی به یک واکشی میان یک بسته قدیمی‌تر دارای بیت‌مپ و اشیائی که پس از آخرین gc پوش شده‌اند)\&. عیب آن این است که 4 بایت به ازای هر شیء از فضای دیسک را مصرف می‌کند\&. مقدار پیش‌فرض true است\&.
.sp
هنگام نوشتن یک بیت‌مپ دسترسی‌پذیری چندبسته‌ای، هیچ namehash جدیدی محاسبه نمی‌شود؛ در عوض، هر namehash ذخیره‌شده در یک بیت‌مپ موجود هنگام نوشتن یک بیت‌مپ جدید به مکان مناسب خود جابه‌جا (permuted) می‌شود\&.
.RE
.PP
pack\&.writeBitmapLookupTable
.RS 4
هنگامی که روی true تنظیم شود، Git بخشی تحت عنوان "lookup table" (جدول جستجو) را در ایندکس بیت‌مپ (در صورت نوشته شدن) می‌گنجاند\&. این جدول برای به تعویق انداختن بارگذاری بیت‌مپ‌های منفرد تا جای ممکن استفاده می‌شود\&. این کار می‌تواند در مخازنی که ایندکس‌های بیت‌مپ نسبتاً بزرگی دارند سودمند باشد\&. مقدار پیش‌فرض false است\&.
.RE
.PP
pack\&.readReverseIndex
.RS 4
هنگامی که روی true تنظیم شود، git هر فایل \&.rev موجود را می‌خواند (ببینید:
\fBgitformat-pack\fR(5))\&. هنگامی که روی false باشد، ایندکس معکوس از ابتدا تولید شده و در حافظه ذخیره می‌شود\&. مقدار پیش‌فرض true است\&.
.RE
.PP
pack\&.writeReverseIndex
.RS 4
هنگامی که روی true تنظیم شود، git برای هر فایل بسته جدیدی که می‌نویسد، یک فایل \&.rev متناظر می‌نویسد (ببینید:
\fBgitformat-pack\fR(5))، در همه جا به جز در
\fBgit-fast-import\fR(1)
و در سازوکار ثبت فله‌ای (bulk checkin)\&. مقدار پیش‌فرض true است\&.
.RE
.PP
pager\&.
.RS 4
اگر مقدار یک بولی باشد، صفحه‌بندی خروجی یک زیردستور خاص Git را هنگام نوشتن در tty روشن یا خاموش می‌کند\&. در غیر این صورت، صفحه‌بندی را برای آن زیردستور با استفاده از صفحه‌بندی‌کننده‌ای (pager) که مقدار
\fBpager\&.\fR\fI\fR
مشخص کرده فعال می‌کند\&. اگر
\fB\-\-paginate\fR
یا
\fB\-\-no\-pager\fR
در خط فرمان مشخص شود، بر این گزینه اولویت دارد\&. برای غیرفعال کردن صفحه‌بندی برای همه دستورات،
\fBcore\&.pager\fR
یا
\fBGIT_PAGER\fR
را روی
\fBcat\fR
تنظیم کنید\&.
.RE
.PP
pretty\&.
.RS 4
نام مستعار برای یک رشته قالب \-\-pretty=، همان‌طور که در
\fBgit-log\fR(1)
مشخص شده است\&. هر نام مستعاری که در اینجا تعریف شود می‌تواند درست مانند قالب‌های تزیینی (pretty formats) توکار استفاده شود\&. برای مثال، اجرای
\fBgit\fR
\fBconfig\fR
\fBpretty\&.changelog\fR
"format:*
\fB%H\fR
\fB%s\fR" باعث می‌شود که فراخوانی
\fBgit\fR
\fBlog\fR
\fB\-\-pretty=changelog\fR
معادل اجرای
\fBgit\fR
\fBlog\fR
"\-\-pretty=format:*
\fB%H\fR
\fB%s\fR" باشد\&. توجه داشته باشید که نام مستعار هم‌نام با یک قالب توکار، بدون هیچ پیامی نادیده گرفته خواهد شد\&.
.RE
.PP
promisor\&.quiet
.RS 4
اگر روی "true" تنظیم شود، هنگام واکشی اشیاء اضافی برای یک کلون جزئی (partial clone)، گزینه
\fB\-\-quiet\fR
فرض می‌شود\&.
.RE
.PP
promisor\&.advertise
.RS 4
اگر روی "true" تنظیم شود، یک سرور از قابلیت "promisor\-remote" (ببینید:
\fBgitprotocol-v2\fR(5)) برای اعلان ریموت‌های promisor که استفاده می‌کند (در صورت وجود) استفاده خواهد کرد\&. مقدار پیش‌فرض "false" است، به این معنی که قابلیت "promisor\-remote" اعلان نمی‌شود\&.
.RE
.PP
promisor\&.sendFields
.RS 4
فهرستی از نام‌های فیلدهای اضافی مرتبط با ریموت که با کاما یا فاصله از هم جدا شده‌اند\&. سرور هنگام اعلان ریموت‌های promisor خود با استفاده از قابلیت "promisor\-remote" (ببینید:
\fBgitprotocol-v2\fR(5))، این نام‌های فیلد و مقادیر مرتبط با آن‌ها را از پیکربندی خود ارسال می‌کند\&. در حال حاضر، تنها نام‌های فیلد "partialCloneFilter" و "token" پشتیبانی می‌شوند\&.
.RE
.PP
\fBpartialCloneFilter\fR
.RS 4
شامل فیلتر کلون جزئی است که برای ریموت استفاده می‌شود\&.
.RE
.PP
\fBtoken\fR
.RS 4
شامل یک توکن احراز هویت برای ریموت است\&.
.sp
هنگامی که یک نام فیلد بخشی از این فهرست باشد و متغیر پیکربندی متناظر "remote\&.foo\&." در سرور روی مقداری غیرخالی تنظیم شده باشد، آنگاه نام و مقدار فیلد هنگام اعلان ریموت promisor با نام "foo" ارسال می‌شوند\&.
.sp
این فهرست هیچ اثری ندارد مگر اینکه متغیر پیکربندی "promisor\&.advertise" روی "true" تنظیم شده باشد، و فیلدهای "name" و "url" همیشه فارغ از این تنظیم اعلان می‌شوند\&.
.RE
.PP
promisor\&.acceptFromServer
.RS 4
اگر روی "all" تنظیم شود، کلاینت تمام ریموت‌های promisor را که ممکن است سرور با استفاده از قابلیت "promisor\-remote" اعلان کند می‌پذیرد\&. اگر روی "knownName" تنظیم شود، کلاینت ریموت‌های promisor را که از قبل روی کلاینت پیکربندی شده‌اند و نامی یکسان با موارد اعلان‌شده دارند می‌پذیرد\&. این حالت چندان امن نیست، اما می‌تواند در یک ساختار شرکتی که به سرورها و کلاینت‌ها برای تغییر ندادن نام و URLها اعتماد وجود دارد استفاده شود\&. اگر روی "knownUrl" تنظیم شود، کلاینت ریموت‌های promisor را می‌پذیرد که هم نام و هم URL یکسانی در کلاینت با نام و URL اعلان‌شده توسط سرور داشته باشند\&. این حالت از "all" یا "knownName" امن‌تر است، بنابراین در صورت امکان باید به جای آن گزینه‌ها استفاده شود\&. مقدار پیش‌فرض "none" است، به این معنی که هیچ ریموت promisor اعلان‌شده توسط سرور پذیرفته نخواهد شد\&. با پذیرش یک ریموت promisor، کلاینت موافقت می‌کند که سرور ممکن است اشیائی را که می‌توان آن‌ها را به‌صورت تنبل (lazily) از این ریموت promisor واکشی کرد، از پاسخ‌های خود به درخواست‌های "fetch" و "clone" از سوی کلاینت حذف کند\&. مقایسه‌های نام و URL به حروف بزرگ و کوچک حساس هستند\&. ببینید:
\fBgitprotocol-v2\fR(5)\&.
.RE
.PP
promisor\&.checkFields
.RS 4
فهرستی از نام‌های فیلدهای اضافی مرتبط با ریموت که با کاما یا فاصله از هم جدا شده‌اند\&. کلاینت پیش از پذیرش یک ریموت promisor بررسی می‌کند که آیا مقادیر این فیلدها که توسط یک سرور ارسال شده‌اند با مقادیر این فیلدها در پیکربندی خود مطابقت دارند یا خیر\&. در حال حاضر، "partialCloneFilter" و "token" تنها نام‌های فیلد پشتیبانی‌شده هستند\&.
.sp
اگر یکی از این نام‌های فیلد (مثلاً "token") برای یک ریموت promisor اعلان‌شده (مثلاً "foo") در حال بررسی باشد، سه شرط باید برقرار باشد تا بررسی این فیلد خاص پذیرفته شود:
.sp
.RS 4
.ie n \{\
\h'-04' 1.\h'+01'\c
.\}
.el \{\
.sp -1
.IP "  1." 4.2
.\}
پیکربندی محلی متناظر (مثلاً
\fBremote\&.foo\&.token\fR) باید تنظیم شده باشد\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04' 2.\h'+01'\c
.\}
.el \{\
.sp -1
.IP "  2." 4.2
.\}
سرور باید فیلد "token" را برای ریموت "foo" اعلان کند\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04' 3.\h'+01'\c
.\}
.el \{\
.sp -1
.IP "  3." 4.2
.\}
مقدار پیکربندی محلی
\fBremote\&.foo\&.token\fR
باید دقیقاً با مقدار اعلان‌شده توسط سرور برای فیلد "token" مطابقت داشته باشد\&.
.RE
.sp
اگر هر یک از این شرایط برای هر نام فیلد فهرست‌شده در
\fBpromisor\&.checkFields\fR
برقرار نباشد، ریموت اعلان‌شده "foo" رد می‌شود\&.
.sp
برای فیلد "partialCloneFilter"، این به کلاینت اجازه می‌دهد تا اطمینان حاصل کند که فیلتر سرور با آنچه کلاینت به صورت محلی انتظار دارد مطابقت دارد، و از ناسازگاری‌ها در رفتار فیلتر کردن جلوگیری شود\&. برای فیلد "token"، می‌توان از این برای تأیید اینکه اطلاعات احراز هویت با مقادیر مورد انتظار مطابقت دارند استفاده کرد\&.
.sp
مقادیر فیلدها با حساسیت به حروف بزرگ و کوچک مقایسه می‌شوند\&.
.sp
فیلدهای "name" و "url" همیشه بر اساس سیاست
\fBpromisor\&.acceptFromServer\fR
و مستقل از این تنظیم بررسی می‌شوند\&.
.sp
نام‌ها و مقادیر فیلدها باید از طریق قابلیت "promisor\-remote" توسط سرور با استفاده از متغیر پیکربندی
\fBpromisor\&.sendFields\fR
ارسال شوند\&. این فیلدها تنها در صورتی بررسی می‌شوند که متغیر پیکربندی
\fBpromisor\&.acceptFromServer\fR
روی "None" تنظیم نشده باشد\&. در صورت تنظیم روی "None"، این متغیر پیکربندی هیچ اثری ندارد\&. ببینید:
\fBgitprotocol-v2\fR(5)\&.
.RE
.PP
promisor\&.storeFields
.RS 4
فهرستی از نام‌های فیلدهای اضافی مرتبط با ریموت که با کاما یا فاصله از هم جدا شده‌اند\&. اگر کلاینت یک ریموت اعلان‌شده را بپذیرد، مقادیر مرتبط با این نام‌های فیلد برگرفته از اعلان ریموت را در پیکربندی خود ذخیره کرده و سپس پیکربندی ریموت خود را مجدداً بارگذاری می‌کند\&. در حال حاضر، "partialCloneFilter" و "token" تنها نام‌های فیلد پشتیبانی‌شده هستند\&.
.sp
برای مثال، اگر سرور "partialCloneFilter=blob:limit=20k" را برای ریموت "foo" اعلان کند و آن ریموت پذیرفته شود، آنگاه "blob:limit=20k" برای متغیر پیکربندی "remote\&.foo\&.partialCloneFilter" ذخیره خواهد شد\&.
.sp
البته اگر مقدار جدید فیلد از یک ریموت اعلان‌شده همان مقدار فیلد موجود برای آن ریموت در سمت کلاینت باشد، هیچ تغییری در پیکربندی کلاینت داده نمی‌شود\&.
.sp
هنگامی که مقدار جدیدی ذخیره می‌شود، پیامی در خطای استاندارد چاپ می‌شود تا کاربران را از این موضوع مطلع سازد\&.
.sp
توجه داشته باشید که به دلایل امنیتی، اگر ریموت از قبل در سمت کلاینت پیکربندی نشده باشد، هیچ چیزی برای آن ریموت ذخیره نخواهد شد\&. در هر صورت، هیچ ریموت جدیدی ایجاد نخواهد شد و هیچ URLی ذخیره نخواهد شد\&.
.sp
پیش از ذخیره فیلتر کلون جزئی، آن فیلتر تجزیه می‌شود تا معتبر بودنش بررسی گردد\&. اگر معتبر نباشد، هشداری صادر شده و ذخیره نمی‌شود\&.
.sp
پیش از ذخیره توکن، بررسی انجام می‌شود تا اطمینان حاصل شود که فاقد نویسه‌های کنترلی است\&. اگر بررسی ناموفق باشد، هشداری صادر شده و ذخیره نمی‌شود\&.
.RE
.PP
protocol\&.allow
.RS 4
در صورت تنظیم، یک سیاست پیش‌فرض تعریف‌شده توسط کاربر برای تمام پروتکل‌هایی که صراحتاً سیاستی ندارند (\fBprotocol\&.\fR\fI\fR\fB\&.allow\fR) فراهم می‌کند\&. به‌طور پیش‌فرض در صورت تنظیم نشدن، پروتکل‌های شناخته‌شده به عنوان امن (http، https، git، ssh) دارای سیاست پیش‌فرض
\fBalways\fR،
پروتکل‌های شناخته‌شده به عنوان خطرناک (ext) دارای سیاست پیش‌فرض
\fBnever\fR،
و سایر پروتکل‌ها (از جمله file) دارای سیاست پیش‌فرض
\fBuser\fR
هستند\&. سیاست‌های پشتیبانی‌شده:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBalways\fR
\- پروتکل همیشه قابل استفاده است\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBnever\fR
\- پروتکل هرگز قابل استفاده نیست\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBuser\fR
\- پروتکل تنها زمانی قابل استفاده است که
\fBGIT_PROTOCOL_FROM_USER\fR
یا تنظیم نشده باشد یا مقدار 1 داشته باشد\&. این سیاست باید زمانی استفاده شود که می‌خواهید پروتکل مستقیماً توسط کاربر قابل استفاده باشد اما نمی‌خواهید توسط دستوراتی که دستورات clone/fetch/push را بدون ورودی کاربر اجرا می‌کنند (مانند مقداردهی اولیه بازگشتی زیرماژول‌ها) استفاده شود\&.
.RE
.RE
.PP
protocol\&.\&.allow
.RS 4
سیاستی را برای استفاده توسط پروتکل
\fI\fR
با دستورات clone/fetch/push تنظیم می‌کند\&. برای سیاست‌های موجود، به
\fBprotocol\&.allow\fR
در بالا مراجعه کنید\&.
.sp
نام‌های پروتکل‌هایی که در حال حاضر توسط git استفاده می‌شوند عبارتند از:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBfile\fR: هر مسیر مبتنی بر فایل محلی (شامل نشانی‌های
\fBfile://\fR
یا مسیرهای محلی)
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBgit\fR: پروتکل ناشناس git روی یک اتصال مستقیم TCP (یا پروکسی، در صورت پیکربندی)
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBssh\fR: پروتکل git روی ssh (شامل ساختار
\fBhost:path\fR،
\fBssh://\fR
و غیره)\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBhttp\fR: پروتکل git روی http، هم "smart http" و هم "dumb http"\&. توجه داشته باشید که این شامل
\fBhttps\fR
\fIنمی‌شود\fR؛
اگر می‌خواهید هر دو را پیکربندی کنید، باید این کار را جداگانه انجام دهید\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
هر کمک‌کننده خارجی با پروتکل خود نام‌گذاری می‌شود (برای مثال، از
\fBhg\fR
برای مجاز کردن کمک‌کننده
\fBgit\-remote\-hg\fR
استفاده کنید)
.RE
.RE
.PP
protocol\&.version
.RS 4
در صورت تنظیم، کلاینت‌ها تلاش خواهند کرد با استفاده از نسخه مشخص‌شده پروتکل با سرور ارتباط برقرار کنند\&. اگر سرور از آن پشتیبانی نکند، ارتباط به نسخه 0 تنزل می‌یابد\&. در صورت تنظیم نشدن، پیش‌فرض
\fB2\fR
است\&. نسخه‌های پشتیبانی‌شده:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB0\fR
\- پروتکل مخابره‌ای (wire protocol) اصلی\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB1\fR
\- پروتکل مخابره‌ای اصلی با اضافه شدن یک رشته نسخه در پاسخ اولیه از سرور\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB2\fR
\- نسخه 2 پروتکل مخابره‌ای، ببینید:
\fBgitprotocol-v2\fR(5)\&.
.RE
.RE
.PP
pull\&.ff
.RS 4
به‌طور پیش‌فرض، Git هنگام ادغام کامیتی که از نوادگان کامیت فعلی است، کامیت ادغام اضافی ایجاد نمی‌کند\&. در عوض، سرشاخه شاخه فعلی به جلو رانده می‌شود (fast\-forward)\&. هنگامی که روی
\fBfalse\fR
تنظیم شود، این متغیر به Git می‌گوید که در چنین مواردی یک کامیت ادغام اضافی ایجاد کند (معادل دادن گزینه
\fB\-\-no\-ff\fR
از خط فرمان)\&. هنگامی که روی
\fBonly\fR
تنظیم شود، فقط چنین ادغام‌های رو به جلویی (fast\-forward) مجاز هستند (معادل دادن گزینه
\fB\-\-ff\-only\fR
از خط فرمان)\&. این تنظیم در زمان اجرای pull، گزینه
\fBmerge\&.ff\fR
را بازنویسی می‌کند\&.
.RE
.PP
pull\&.rebase
.RS 4
هنگامی که true باشد، هنگام اجرای "git pull"، شاخه‌ها به جای ادغام با شاخه پیش‌فرض از ریموت پیش‌فرض، بر روی شاخه واکشی‌شده ریبیس (rebase) می‌شوند\&. برای تنظیم این مورد برای هر شاخه به صورت جداگانه، به "branch\&.\&.rebase" مراجعه کنید\&.
.sp
هنگامی که روی
\fBmerges\fR
(یا فقط
\fIm\fR)
تنظیم شود، گزینه
\fB\-\-rebase\-merges\fR
به
\fIgit rebase\fR
داده می‌شود تا کامیت‌های ادغام محلی در ریبیس گنجانده شوند (برای جزئیات به
\fBgit-rebase\fR(1)
مراجعه کنید)\&.
.sp
هنگامی که مقدار
\fBinteractive\fR
(یا فقط
\fIi\fR)
باشد، ریبیس در حالت تعاملی اجرا می‌شود\&.
.sp
\fBنکته\fR: این عملیاتی احتمالاً خطرناک است؛ از آن استفاده
\fBنکنید\fR
مگر اینکه از پیامدهای آن آگاه باشید (برای جزئیات به
\fBgit-rebase\fR(1)
مراجعه کنید)\&.
.RE
.PP
pull\&.octopus
.RS 4
راهبرد ادغام پیش‌فرض برای استفاده هنگام پول کردن همزمان چند شاخه\&.
.RE
.PP
pull\&.autoStash
.RS 4
هنگامی که روی true تنظیم شود، پیش از شروع عملیات به‌طور خودکار یک مدخل موقت در اندوخته (stash) ایجاد می‌کند تا تغییرات محلی را ثبت کند، و پس از اتمام عملیات آن‌ها را بازیابی می‌کند\&. زمانی که "git pull" شما ریبیس انجام می‌دهد (به جای ادغام)، این کار می‌تواند بسیار مفید باشد؛ زیرا بر خلاف پول مبتنی بر ادغام که تغییرات محلی بدون تداخل با ادغام را تحمل می‌کند، پول مبتنی بر ریبیس از کار با هرگونه تغییر محلی خودداری می‌کند\&.
.sp
اگر
\fBpull\&.autostash\fR
تنظیم شده باشد (چه روی true و چه false)، گزینه‌های
\fBmerge\&.autostash\fR
و
\fBrebase\&.autostash\fR
نادیده گرفته می‌شوند\&. اگر
\fBpull\&.autostash\fR
اصلاً تنظیم نشده باشد، بسته به مقدار
\fBpull\&.rebase\fR،
به جای آن از
\fBmerge\&.autostash\fR
یا
\fBrebase\&.autostash\fR
استفاده می‌شود\&. می‌تواند توسط گزینه خط فرمان
\fB\-\-\fR[\fBno\-\fR]\fBautostash\fR
بازنویسی شود\&.
.RE
.PP
pull\&.twohead
.RS 4
راهبرد ادغام پیش‌فرض برای استفاده هنگام پول کردن یک شاخه منفرد\&.
.RE
.PP
\fBpush\&.autoSetupRemote\fR
.RS 4
اگر روی
\fBtrue\fR
تنظیم شود، هنگام پوش پیش‌فرض در شرایطی که هیچ ردیابی بالادستی (upstream tracking) برای شاخه فعلی وجود ندارد، گزینه
\fB\-\-set\-upstream\fR
را فرض می‌کند؛ این گزینه با مقادیر
\fBsimple\fR،
\fBupstream\fR
و
\fBcurrent\fR
از تنظیم
\fBpush\&.default\fR
اثر می‌گذارد\&. این تنظیم زمانی مفید است که بخواهید شاخه‌های جدید به‌طور پیش‌فرض به ریموت پیش‌فرض پوش شوند (مانند رفتار
\fBpush\&.default=current\fR)
و همچنین بخواهید ردیابی بالادست تنظیم گردد\&. جریان‌های کاری که بیشترین بهره را از این گزینه می‌برند، جریان‌های کاری متمرکز
\fBsimple\fR
هستند که در آن‌ها انتظار می‌رود تمام شاخه‌ها نام یکسانی در ریموت داشته باشند\&.
.RE
.PP
\fBpush\&.default\fR
.RS 4
عملیاتی را تعریف می‌کند که
\fBgit\fR
\fBpush\fR
در صورت مشخص نشدن هیچ مشخصه مرجعی (refspec) (چه از خط فرمان، چه پیکربندی یا جای دیگر) باید انجام دهد\&. مقادیر مختلف برای جریان‌های کاری خاصی مناسب هستند؛ برای مثال، در یک جریان کاری کاملاً متمرکز (یعنی منبع واکشی با مقصد پوش یکسان است)، احتمالاً
\fBupstream\fR
همان چیزی است که می‌خواهید\&. مقادیر ممکن عبارتند از:
.PP
\fBnothing\fR
.RS 4
هیچ چیزی را پوش نکن (با خطا خارج شو) مگر اینکه یک مشخصه مرجع داده شده باشد\&. این گزینه در درجه اول برای افرادی در نظر گرفته شده است که می‌خواهند با صریح بودن همیشگی، از اشتباهات جلوگیری کنند\&.
.RE
.PP
\fBcurrent\fR
.RS 4
شاخه فعلی را برای به‌روزرسانی شاخه‌ای با همان نام در سمت دریافت‌کننده پوش می‌کند\&. هم در جریان‌های کاری متمرکز و هم غیرمتمرکز کار می‌کند\&.
.RE
.PP
\fBupstream\fR
.RS 4
شاخه فعلی را به شاخه‌ای که تغییراتش معمولاً در شاخه فعلی ادغام می‌شوند (که
\fB@\fR{upstream}
نامیده می‌شود) برمی‌گرداند و پوش می‌کند\&. این حالت تنها در صورتی منطقی است که به همان مخزنی پوش می‌کنید که معمولاً از آن پول می‌کنید (یعنی جریان کاری متمرکز)\&.
.RE
.PP
\fBtracking\fR
.RS 4
این یک مترادف منسوخ‌شده برای
\fBupstream\fR
است\&.
.RE
.PP
\fBsimple\fR
.RS 4
شاخه فعلی را با همان نام در ریموت پوش می‌کند\&.
.sp
این حالت نیازمند آن است که مخزن ریموتی که قرار است به آن پوش شود، شناخته‌شده باشد\&. هنگام پوش به همان ریموتی که از آن پول می‌کنید، شاخه فعلی نیز باید یک شاخه ردیابی بالادست با همان نام داشته باشد\&.
.sp
این حالت از نسخه Git 2\&.0 پیش‌فرض است، و امن‌ترین گزینه مناسب برای مبتدیان است\&.
.RE
.PP
\fBmatching\fR
.RS 4
تمام شاخه‌هایی را که نام یکسانی در هر دو طرف دارند پوش می‌کند\&. این باعث می‌شود مخزنی که به آن پوش می‌کنید، مجموعه شاخه‌هایی را که پوش می‌شوند به خاطر بسپارد (برای مثال اگر همیشه
\fBmaint\fR
و
\fBmaster\fR
را به آنجا پوش کنید و هیچ شاخه دیگری را پوش نکنید، مخزنی که به آن پوش می‌کنید دارای این دو شاخه خواهد بود و شاخه‌های محلی
\fBmaint\fR
و
\fBmaster\fR
شما به آنجا پوش خواهند شد)\&.
.sp
برای استفاده مؤثر از این حالت، باید مطمئن شوید که
\fIتمام\fR
شاخه‌هایی که می‌خواهید پوش کنید، قبل از اجرای
\fBgit\fR
\fBpush\fR
آماده پوش شدن هستند؛ زیرا کل هدف این حالت این است که به شما امکان دهد تمام شاخه‌ها را یک‌باره پوش کنید\&. اگر معمولاً کار روی تنها یک شاخه را تمام کرده و نتیجه را پوش می‌کنید در حالی که سایر شاخه‌ها ناتمام هستند، این حالت مناسب شما نیست\&. همچنین این حالت برای پوش کردن به یک مخزن متمرکز اشتراکی مناسب نیست، زیرا ممکن است افراد دیگر شاخه‌های جدیدی در آنجا اضافه کنند، یا سرشاخه شاخه‌های موجود را خارج از کنترل شما به‌روزرسانی کنند\&.
.sp
این حالت قبلاً پیش‌فرض بود، اما از Git 2\&.0 به بعد این‌گونه نیست (\fBsimple\fR
پیش‌فرض جدید است)\&.
.RE
.RE
.PP
\fBpush\&.followTags\fR
.RS 4
اگر روی true تنظیم شود، گزینه
\fB\-\-follow\-tags\fR
را به صورت پیش‌فرض فعال می‌کند\&. می‌توانید این پیکربندی را در زمان پوش با مشخص کردن
\fB\-\-no\-follow\-tags\fR
بازنویسی کنید\&.
.RE
.PP
\fBpush\&.gpgSign\fR
.RS 4
می‌تواند روی یک مقدار بولی، یا رشته
\fBif\-asked\fR
تنظیم شود\&. مقدار true باعث می‌شود تمام پوش‌ها با GPG امضا شوند، گویی که
\fB\-\-signed\fR
به
\fBgit-push\fR(1)
داده شده است\&. رشته
\fBif\-asked\fR
باعث می‌شود پوش‌ها در صورتی که سرور از آن پشتیبانی کند امضا شوند، گویی که
\fB\-\-signed=if\-asked\fR
به
\fBgit\fR
\fBpush\fR
داده شده است\&. مقدار false می‌تواند مقداری از یک فایل پیکربندی با اولویت پایین‌تر را بازنویسی کند\&. یک فلگ صریح خط فرمان همیشه این گزینه پیکربندی را بازنویسی می‌کند\&.
.RE
.PP
\fBpush\&.pushOption\fR
.RS 4
هنگامی که هیچ آرگومان
\fB\-\-push\-option=\fR\fI