'\" 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\&.\&.]