'\" t
.\" Title: git
.\" Author: [see the "Authors" section]
.\" Generator: DocBook XSL Stylesheets vsnapshot
.\" Date: 2026-06-29
.\" Manual: Git Manual
.\" Source: Git 2.55.0
.\" Language: Persian
.\"
.TH "GIT" "1" "2026\-06\-29" "Git 2\&.55\&.0" "دستورات عمومی کاربر"
.\" -----------------------------------------------------------------
.\" * 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 \- ردیاب محتوای ساده (سامانه کنترل نسخه توزیعشده)
.SH "خلاصه دستور (SYNOPSIS)"
.sp
.nf
\fIgit\fR [\-v | \-\-version] [\-h | \-\-help] [\-C ] [\-c =]
[\-\-exec\-path[=]] [\-\-html\-path] [\-\-man\-path] [\-\-info\-path]
[\-p | \-\-paginate | \-P | \-\-no\-pager] [\-\-no\-replace\-objects] [\-\-no\-lazy\-fetch]
[\-\-no\-optional\-locks] [\-\-no\-advice] [\-\-bare] [\-\-git\-dir=]
[\-\-work\-tree=] [\-\-namespace=] [\-\-config\-env==]
[]
.fi
.sp
.SH "توضیحات (DESCRIPTION)"
.sp
گیت (\fBGit\fR) یک سامانه کنترل نسخه سریع، مقیاسپذیر و توزیعشده با مجموعهای کمنظیر و غنی از دستورات است که هم عملیات سطح بالا و هم دسترسی کامل به سازوکارهای داخلی را فراهم میکند\&.
.sp
برای شروع به \fBgittutorial\fR(7) مراجعه کنید، سپس برای آشنایی با حداقل مجموعهای مفید از دستورات، \fBgiteveryday\fR(7) را ببینید\&. مستند \m[blue]\fBGit User\(cqs Manual\fR\m[]\&\s-2\u[1]\d\s+2 شامل معرفی دقیقتر و عمیقتری است\&.
.sp
پس از تسلط بر مفاهیم پایه، میتوانید به این صفحه بازگردید تا با دستوراتی که گیت ارائه میدهد آشنا شوید\&. با دستور "git help command" میتوانید درباره تکتک دستورات گیت اطلاعات بیشتری کسب کنید\&. صفحه راهنمای \fBgitcli\fR(7) مروری کلی بر ساختار نحو دستورات خط فرمان به شما ارائه میدهد\&.
.sp
نسخهای قالببندیشده و پیونددار از آخرین مستندات گیت در \m[blue]\fBhttps://git\&.github\&.io/htmldocs/git\&.html\fR\m[] یا \m[blue]\fBhttps://git\-scm\&.com/docs\fR\m[] قابل مشاهده است\&.
.SH "گزینهها (OPTIONS)"
.PP
\-v, \-\-version
.RS 4
نسخه مجموعه نرمافزاری گیت را که برنامه
\fIgit\fR
متعلق به آن است چاپ میکند\&.
.sp
این گزینه در داخل به
\fBgit\fR
\fBversion\fR
\&.\&.\&. تبدیل میشود و همان گزینههای دستور
\fBgit-version\fR(1)
را میپذیرد\&. اگر
\fB\-\-help\fR
نیز داده شود، بر
\fB\-\-version\fR
اولویت خواهد داشت\&.
.RE
.PP
\-h, \-\-help
.RS 4
خلاصه دستور و فهرستی از پرکاربردترین دستورات را چاپ میکند\&. اگر گزینه
\fB\-\-all\fR
یا
\fB\-a\fR
داده شود، همه دستورات موجود چاپ میشوند\&. در صورتی که نام یک دستور گیت مشخص شده باشد، این گزینه صفحه راهنمای آن دستور را باز میکند\&.
.sp
گزینههای دیگری برای کنترل نحوه نمایش صفحه راهنما در دسترس هستند\&. برای اطلاعات بیشتر به
\fBgit-help\fR(1)
مراجعه کنید، زیرا
\fBgit\fR
\fB\-\-help\fR
\&.\&.\&. در داخل به
\fBgit\fR
\fBhelp\fR
\&.\&.\&. تبدیل میشود\&.
.RE
.PP
\-C
.RS 4
طوری اجرا میشود که گویی گیت به جای دایرکتوری کاری فعلی، در
\fI\fR
آغاز شده است\&. هنگامی که چندین گزینه
\fB\-C\fR
داده شود، هر
\fB\-C\fR
\fI\fR
غیرمطلق بعدی نسبت به
\fB\-C\fR
\fI\fR
پیشین تفسیر میشود\&. اگر
\fI\fR
وجود داشته باشد اما خالی باشد، مثلاً
\fB\-C\fR
""، دایرکتوری کاری فعلی بدون تغییر باقی میماند\&.
.sp
این گزینه بر گزینههایی که نام مسیر میپذیرند مانند
\fB\-\-git\-dir\fR
و
\fB\-\-work\-tree\fR
تأثیر میگذارد، به این ترتیب که تفسیر آنها از نامهای مسیر نسبت به دایرکتوری کاری ناشی از گزینه
\fB\-C\fR
صورت میگیرد\&. برای مثال فراخوانیهای زیر با یکدیگر معادل هستند:
.sp
.if n \{\
.RS 4
.\}
.nf
git \-\-git\-dir=a\&.git \-\-work\-tree=b \-C c status
git \-\-git\-dir=c/a\&.git \-\-work\-tree=c/b status
.fi
.if n \{\
.RE
.\}
.RE
.PP
\-c =
.RS 4
یک پارامتر پیکربندی را به دستور ارسال میکند\&. مقدار دادهشده مقادیر فایلهای پیکربندی را بازنویسی میکند\&. انتظار میرود با همان قالبی باشد که توسط
\fIgit config\fR
فهرست میشود (زیرکلیدهایی که با نقطه از هم جدا شدهاند)\&.
.sp
توجه داشته باشید که حذف
\fB=\fR
در
\fBgit\fR
\fB\-c\fR
\fBfoo\&.bar\fR
\&.\&.\&. مجاز است و مقدار
\fBfoo\&.bar\fR
را روی مقدار بولی true تنظیم میکند (درست همانند کاری که [\fBfoo\fR]\fBbar\fR
در یک فایل پیکربندی انجام میدهد)\&. درج علامت مساوی با یک مقدار خالی (مانند
\fBgit\fR
\fB\-c\fR
\fBfoo\&.bar=\fR
\&.\&.\&.) مقدار
\fBfoo\&.bar\fR
را روی رشته خالی تنظیم میکند که
\fBgit\fR
\fBconfig\fR
\fB\-\-type=bool\fR
آن را به
\fBfalse\fR
تبدیل خواهد کرد\&.
.RE
.PP
\-\-config\-env==
.RS 4
مانند
\fB\-c\fR
\fI\fR\fB=\fR\fI\fR،
به متغیر پیکربندی
\fI\fR
مقداری اختصاص میدهد که در آن نام یک متغیر محیطی است که مقدار از آن دریافت میشود\&. بر خلاف
\fB\-c\fR
هیچ میانبری برای تنظیم مستقیم مقدار روی یک رشته خالی وجود ندارد، بلکه خود متغیر محیطی باید روی رشته خالی تنظیم شده باشد\&. اگر
\fI\fR
در محیط وجود نداشته باشد، یک خطا محسوب میشود\&.
\fI\fR
جهت جلوگیری از ابهام با مواردی که
\fI\fR
شامل علامت مساوی است، نباید حاوی علامت مساوی باشد\&.
.sp
این گزینه برای مواردی کاربرد دارد که میخواهید گزینههای پیکربندی موقت را به گیت منتقل کنید، اما در سیستمعاملهایی فعالیت میکنید که سایر فرایندها ممکن است قادر به خواندن خط فرمان شما باشند (مانند
\fB/proc/self/cmdline\fR)،
اما نتوانند متغیرهای محیطی شما را بخوانند (مانند
\fB/proc/self/environ\fR)\&.
این رفتار در لینوکس به صورت پیشفرض است، اما ممکن است در سیستم شما اینگونه نباشد\&.
.sp
توجه داشته باشید که این ممکن است امنیت متغیرهایی مانند
\fBhttp\&.extraHeader\fR
را افزایش دهد که در آنها اطلاعات حساس بخشی از مقدار است، اما مثلاً برای
\fBurl\&.\fR\fI \fR\fB\&.insteadOf\fR
که اطلاعات حساس میتواند بخشی از کلید باشد، امنیتی ایجاد نمیکند\&.
.RE
.PP
\-\-exec\-path[=]
.RS 4
مسیر محل نصب برنامههای اصلی گیت\&. این مورد را میتوان با تنظیم متغیر محیطی GIT_EXEC_PATH نیز کنترل کرد\&. در صورت مشخص نشدن مسیر،
\fIgit\fR
تنظیمات فعلی را چاپ کرده و خارج میشود\&.
.RE
.PP
\-\-html\-path
.RS 4
مسیری را که مستندات HTML گیت در آن نصب شده است (بدون اسلش پایانی) چاپ کرده و خارج میشود\&.
.RE
.PP
\-\-man\-path
.RS 4
مسیر manpath (نگاه کنید به
\fBman\fR(\fB1\fR))
را برای صفحات راهنمای این نسخه از گیت چاپ کرده و خارج میشود\&.
.RE
.PP
\-\-info\-path
.RS 4
مسیری را که فایلهای Info مستندات این نسخه از گیت در آن نصب شده است چاپ کرده و خارج میشود\&.
.RE
.PP
\-p, \-\-paginate
.RS 4
در صورتی که خروجی استاندارد یک ترمینال باشد، همه خروجی را به
\fIless\fR
(یا در صورت تنظیم، $PAGER) هدایت (pipe) میکند\&. این گزینه بر گزینههای پیکربندی
\fBpager\&.\fR\fI\fR
اولویت دارد (بخش «سازوکار پیکربندی» در زیر را ببینید)\&.
.RE
.PP
\-P, \-\-no\-pager
.RS 4
خروجی گیت را به هیچ صفحهبندی (pager) هدایت نمیکند\&.
.RE
.PP
\-\-git\-dir=
.RS 4
مسیر مخزن (دایرکتوری "\&.git") را تعیین میکند\&. این را میتوان با تنظیم متغیر محیطی
\fBGIT_DIR\fR
نیز کنترل کرد\&. این مقدار میتواند یک مسیر مطلق یا یک مسیر نسبی به دایرکتوری کاری فعلی باشد\&.
.sp
مشخص کردن مکان دایرکتوری "\&.git" با استفاده از این گزینه (یا متغیر محیطی
\fBGIT_DIR\fR)
سازوکار شناسایی خودکار مخزن را که تلاش میکند دایرکتوری حاوی زیرپوشه "\&.git" را بیابد (روشی که مخزن و بالاترین سطح درخت کاری کشف میشوند) غیرفعال میکند و به گیت اعلام میدارد که شما در بالاترین سطح درخت کاری قرار دارید\&. اگر در دایرکتوری بالاترین سطح درخت کاری نیستید، باید با استفاده از گزینه
\fB\-\-work\-tree=\fR\fI\fR
(یا متغیر محیطی
\fBGIT_WORK_TREE\fR)
مکان بالاترین سطح درخت کاری را به گیت معرفی کنید\&.
.sp
اگر فقط میخواهید گیت طوری اجرا شود که گویی در
\fI\fR
آغاز به کار کرده است، از
\fBgit\fR
\fB\-C\fR
\fI\fR
استفاده کنید\&.
.RE
.PP
\-\-work\-tree=
.RS 4
مسیر درخت کاری را تعیین میکند\&. این میتواند یک مسیر مطلق یا یک مسیر نسبی به دایرکتوری کاری فعلی باشد\&. این را میتوان با تنظیم متغیر محیطی GIT_WORK_TREE و متغیر پیکربندی core\&.worktree نیز کنترل کرد (برای توضیحات دقیقتر مدخل core\&.worktree را در
\fBgit-config\fR(1)
ببینید)\&.
.RE
.PP
\-\-namespace=
.RS 4
فضای نام گیت را تعیین میکند\&. برای جزئیات بیشتر به
\fBgitnamespaces\fR(7)
مراجعه کنید\&. معادل تنظیم متغیر محیطی
\fBGIT_NAMESPACE\fR
است\&.
.RE
.PP
\-\-bare
.RS 4
با مخزن همانند یک مخزن لخت (bare) رفتار میکند\&. اگر متغیر محیطی GIT_DIR تنظیم نشده باشد، روی دایرکتوری کاری فعلی تنظیم میشود\&.
.RE
.PP
\-\-no\-replace\-objects
.RS 4
از ارجاعات جایگزین (replacement refs) برای جایگزینی شیءهای گیت استفاده نمیکند\&. این معادل صدور متغیر محیطی
\fBGIT_NO_REPLACE_OBJECTS\fR
با هر مقداری است\&. برای اطلاعات بیشتر
\fBgit-replace\fR(1)
را ببینید\&.
.RE
.PP
\-\-no\-lazy\-fetch
.RS 4
شیءهای ناموجود را بر حسب تقاضا از ریموت متعهد (promisor remote) واکشی نمیکند\&. همراه با
\fBgit\fR
\fBcat\-file\fR
\fB\-e\fR
\fI\fR
برای بررسی اینکه آیا شیء به صورت محلی در دسترس است یا خیر بسیار کاربردی است\&. این معادل تنظیم متغیر محیطی
\fBGIT_NO_LAZY_FETCH\fR
روی
\fB1\fR
است\&.
.RE
.PP
\-\-no\-optional\-locks
.RS 4
عملیات اختیاری نیازمند قفل را انجام نمیدهد\&. این معادل تنظیم متغیر محیطی
\fBGIT_OPTIONAL_LOCKS\fR
روی
\fB0\fR
است\&.
.RE
.PP
\-\-no\-advice
.RS 4
نمایش تمامی پیامهای راهنمایی و توصیه (advice hints) را غیرفعال میکند\&.
.RE
.PP
\-\-literal\-pathspecs
.RS 4
با الگوهای مسیر (pathspecs) به صورت تحتاللفظی رفتار میکند (بدون تطبیق الگو یا globbing و بدون جادوی pathspec)\&. این معادل تنظیم متغیر محیطی
\fBGIT_LITERAL_PATHSPECS\fR
روی
\fB1\fR
است\&.
.RE
.PP
\-\-glob\-pathspecs
.RS 4
جادوی "glob" را به همه الگوهای مسیر اضافه میکند\&. این معادل تنظیم متغیر محیطی
\fBGIT_GLOB_PATHSPECS\fR
روی
\fB1\fR
است\&. غیرفعال کردن globbing روی تکتک الگوهای مسیر با استفاده از جادوی الگوی مسیر ":(literal)" امکانپذیر است\&.
.RE
.PP
\-\-noglob\-pathspecs
.RS 4
جادوی "literal" را به همه الگوهای مسیر اضافه میکند\&. این معادل تنظیم متغیر محیطی
\fBGIT_NOGLOB_PATHSPECS\fR
روی
\fB1\fR
است\&. فعال کردن globbing روی تکتک الگوهای مسیر با استفاده از جادوی الگوی مسیر ":(glob)" امکانپذیر است\&.
.RE
.PP
\-\-icase\-pathspecs
.RS 4
جادوی "icase" (حساس نبودن به بزرگی و کوچکی حروف) را به همه الگوهای مسیر اضافه میکند\&. این معادل تنظیم متغیر محیطی
\fBGIT_ICASE_PATHSPECS\fR
روی
\fB1\fR
است\&.
.RE
.PP
\-\-list\-cmds=[,\&...]
.RS 4
دستورات را بر پایه گروه فهرست میکند\&. این یک گزینه داخلی/آزمایشی است و ممکن است در آینده تغییر کند یا حذف شود\&. گروههای پشتیبانیشده عبارتند از: builtins، parseopt (دستورات توکاری که از parse\-options استفاده میکنند)، deprecated (دستورات توکار منسوخشده)، main (همه دستورات موجود در دایرکتوری libexec)، others (همه دستورات دیگر در
\fB$PATH\fR
که پیشوند \-git دارند)، list\- (دستهبندیهای موجود در command\-list\&.txt را ببینید)، nohelpers (مستثنی کردن دستورات کمکی)، alias و config (دریافت فهرست دستورات از متغیر پیکربندی completion\&.commands)\&.
.RE
.PP
\-\-attr\-source=
.RS 4
ویژگیهای gitattributes را به جای درخت کاری، از میخواند\&. به
\fBgitattributes\fR(5)
مراجعه کنید\&. این معادل تنظیم متغیر محیطی
\fBGIT_ATTR_SOURCE\fR
است\&.
.RE
.SH "دستورات گیت (GIT COMMANDS)"
.sp
ما گیت را به دستورات سطح بالا ("پورسلین") و دستورات سطح پایین ("پلامبینگ") تقسیم میکنیم\&. برای تعریف نامهای مستعار دستورات، به Bgit-configR(1) مراجعه کرده و توضیحات Balias\&.*R را بررسی کنید\&. برای نصب زیردستورهای سفارشی "git"، توضیحات مربوط به متغیر محیطی IPATHR را در این راهنما ببینید\&.
.SH "دستورات سطح بالا (پورسلین) (HIGH\-LEVEL COMMANDS (PORCELAIN))"
.sp
ما دستورات پورسلین را به دستورات اصلی و برخی ابزارهای کمکی کاربر تفکیک میکنیم\&.
.SS "دستورات اصلی پورسلین (Main porcelain commands)"
.PP
Bgit-addR(1)
.RS 4
افزودن محتوای فایل به ایندکس\&.
.RE
.PP
Bgit-amR(1)
.RS 4
اعمال مجموعهای از وصلهها از یک صندوق پستی (mailbox)\&.
.RE
.PP
Bgit-archiveR(1)
.RS 4
ایجاد یک آرشیو از فایلها از روی یک درخت نامگذاریشده\&.
.RE
.PP
Bgit-backfillR(1)
.RS 4
بارگیری شیءهای ناموجود در یک کلون جزئی\&.
.RE
.PP
Bgit-bisectR(1)
.RS 4
استفاده از جستجوی دودویی برای یافتن کامیتی که باگ را معرفی کرده است\&.
.RE
.PP
Bgit-branchR(1)
.RS 4
فهرست کردن، ایجاد یا حذف شاخهها\&.
.RE
.PP
Bgit-bundleR(1)
.RS 4
انتقال شیءها و ارجاعات با استفاده از فایل آرشیو (بسته)\&.
.RE
.PP
Bgit-checkoutR(1)
.RS 4
تعویض شاخهها یا بازیابی فایلهای درخت کاری\&.
.RE
.PP
Bgit-cherry-pickR(1)
.RS 4
اعمال تغییرات معرفیشده توسط برخی کامیتهای موجود\&.
.RE
.PP
Bgit-citoolR(1)
.RS 4
جایگزین گرافیکی برای git\-commit\&.
.RE
.PP
Bgit-cleanR(1)
.RS 4
حذف فایلهای ردیابینشده از درخت کاری\&.
.RE
.PP
Bgit-cloneR(1)
.RS 4
کلون کردن یک مخزن درون یک دایرکتوری جدید\&.
.RE
.PP
Bgit-commitR(1)
.RS 4
ثبت تغییرات در مخزن\&.
.RE
.PP
Bgit-describeR(1)
.RS 4
اختصاص یک نام خوانا برای انسان به یک شیء بر پایه یک ارجاع در دسترس\&.
.RE
.PP
Bgit-diffR(1)
.RS 4
نمایش تغییرات بین کامیتها، کامیت و درخت کاری، و غیره\&.
.RE
.PP
Bgit-fetchR(1)
.RS 4
بارگیری شیءها و ارجاعات از مخزنی دیگر\&.
.RE
.PP
Bgit-format-patchR(1)
.RS 4
آمادهسازی وصلهها برای ارسال با رایانامه\&.
.RE
.PP
Bgit-gcR(1)
.RS 4
پاکسازی فایلهای غیرضروری و بهینهسازی مخزن محلی\&.
.RE
.PP
Bgit-grepR(1)
.RS 4
چاپ خطوط منطبق بر یک الگو\&.
.RE
.PP
Bgit-guiR(1)
.RS 4
یک رابط گرافیکی پرتابل برای گیت\&.
.RE
.PP
Bgit-historyR(1)
.RS 4
آزمایشی: بازنویسی تاریخچه\&.
.RE
.PP
Bgit-initR(1)
.RS 4
ایجاد یک مخزن خالی گیت یا راهاندازی مجدد یک مخزن موجود\&.
.RE
.PP
Bgit-logR(1)
.RS 4
نمایش گزارشهای کامیت (لاگها)\&.
.RE
.PP
Bgit-maintenanceR(1)
.RS 4
اجرای وظایف جهت بهینهسازی دادههای مخزن گیت\&.
.RE
.PP
Bgit-mergeR(1)
.RS 4
پیوند دادن دو یا چند تاریخچه توسعه به یکدیگر\&.
.RE
.PP
Bgit-mvR(1)
.RS 4
جابجایی یا تغییر نام یک فایل، دایرکتوری یا پیوند نمادین\&.
.RE
.PP
Bgit-notesR(1)
.RS 4
افزودن یا بازرسی یادداشتهای شیء\&.
.RE
.PP
Bgit-pullR(1)
.RS 4
واکشی از یک مخزن دیگر یا شاخه محلی و ادغام با آن\&.
.RE
.PP
Bgit-pushR(1)
.RS 4
بهروزرسانی ارجاعات راهدور به همراه شیءهای مرتبط\&.
.RE
.PP
Bgit-range-diffR(1)
.RS 4
مقایسه دو محدوده کامیت (مثلاً دو نسخه از یک شاخه)\&.
.RE
.PP
Bgit-rebaseR(1)
.RS 4
اعمال مجدد کامیتها بر روی نوک شاخهای دیگر\&.
.RE
.PP
Bgit-resetR(1)
.RS 4
تنظیم
BHEADR
یا ایندکس به یک وضعیت مشخص\&.
.RE
.PP
Bgit-restoreR(1)
.RS 4
بازیابی فایلهای درخت کاری\&.
.RE
.PP
Bgit-revertR(1)
.RS 4
بازگردانی برخی از کامیتهای موجود\&.
.RE
.PP
Bgit-rmR(1)
.RS 4
حذف فایلها از درخت کاری و از ایندکس\&.
.RE
.PP
Bgit-shortlogR(1)
.RS 4
خلاصهسازی خروجی
BgitR
BlogR\&.
.RE
.PP
Bgit-showR(1)
.RS 4
نمایش انواع مختلف شیءها\&.
.RE
.PP
Bgit-sparse-checkoutR(1)
.RS 4
کاهش درخت کاری شما به زیرمجموعهای از فایلهای ردیابیشده\&.
.RE
.PP
Bgit-stashR(1)
.RS 4
ذخیره موقت تغییرات در یک دایرکتوری کاری تغییریافته\&.
.RE
.PP
Bgit-statusR(1)
.RS 4
نمایش وضعیت درخت کاری\&.
.RE
.PP
Bgit-submoduleR(1)
.RS 4
راهاندازی اولیه، بهروزرسانی یا بازرسی زیرپیمانهها\&.
.RE
.PP
Bgit-switchR(1)
.RS 4
تعویض شاخهها\&.
.RE
.PP
Bgit-tagR(1)
.RS 4
ایجاد، فهرست کردن، حذف یا اعتبارسنجی تگها\&.
.RE
.PP
Bgit-worktreeR(1)
.RS 4
مدیریت چندین درخت کاری\&.
.RE
.PP
BgitkR(1)
.RS 4
مرورگر مخزن گیت\&.
.RE
.SS "دستورات کمکی (Ancillary Commands)"
.PP
Bgit-configR(1)
.RS 4
دریافت و تنظیم گزینههای مخزن یا گزینههای سراسری\&.
.RE
.PP
Bgit-fast-exportR(1)
.RS 4
صادرکننده دادههای گیت\&.
.RE
.PP
Bgit-fast-importR(1)
.RS 4
بخش پسین برای واردکنندههای سریع دادههای گیت\&.
.RE
.PP
Bgit-filter-branchR(1)
.RS 4
بازنویسی شاخهها\&.
.RE
.PP
Bgit-mergetoolR(1)
.RS 4
اجرای ابزارهای رفع تداخل برای حل تعارضهای ادغام\&.
.RE
.PP
Bgit-pack-refsR(1)
.RS 4
بستهبندی نوک شاخهها و تگها جهت دسترسی بهینه به مخزن\&.
.RE
.PP
Bgit-pruneR(1)
.RS 4
هرس کردن تمامی شیءهای غیرقابل دسترسی از پایگاه داده شیءها\&.
.RE
.PP
Bgit-reflogR(1)
.RS 4
مدیریت اطلاعات گزارش ارجاعات (reflog)\&.
.RE
.PP
Bgit-refsR(1)
.RS 4
دسترسی سطح پایین به ارجاعات\&.
.RE
.PP
Bgit-remoteR(1)
.RS 4
مدیریت مجموعهای از مخازن ردیابیشده\&.
.RE
.PP
Bgit-repackR(1)
.RS 4
بستهبندی شیءهای بستهبندینشده در یک مخزن\&.
.RE
.PP
Bgit-replaceR(1)
.RS 4
ایجاد، فهرست کردن و حذف ارجاعات برای جایگزینی شیءها\&.
.RE
.PP
Bgit-annotateR(1)
.RS 4
حاشیهنویسی خطوط فایل با اطلاعات کامیت\&.
.RE
.PP
Bgit-blameR(1)
.RS 4
نمایش اینکه کدام بازبینی و نویسنده آخرین بار هر خط از یک فایل را اصلاح کرده است\&.
.RE
.PP
Bgit-bugreportR(1)
.RS 4
جمعآوری اطلاعات برای کاربر جهت ثبت گزارش اشکال\&.
.RE
.PP
Bgit-count-objectsR(1)
.RS 4
شمارش تعداد شیءهای بستهبندینشده و میزان مصرف فضای دیسک آنها\&.
.RE
.PP
Bgit-diagnoseR(1)
.RS 4
تولید یک آرشیو zip از اطلاعات تشخیصی\&.
.RE
.PP
Bgit-difftoolR(1)
.RS 4
نمایش تغییرات با استفاده از ابزارهای متداول diff\&.
.RE
.PP
Bgit-fsckR(1)
.RS 4
بررسی اتصال و صحت شیءها در پایگاه داده\&.
.RE
.PP
Bgit-helpR(1)
.RS 4
نمایش اطلاعات راهنما درباره گیت\&.
.RE
.PP
Bgit-instawebR(1)
.RS 4
مرور فوری مخزن کاری در gitweb\&.
.RE
.PP
Bgit-merge-treeR(1)
.RS 4
انجام ادغام بدون دستکاری ایندکس یا درخت کاری\&.
.RE
.PP
Bgit-rerereR(1)
.RS 4
استفاده مجدد از راهحلهای ثبتشده تداخلهای ادغام\&.
.RE
.PP
Bgit-show-branchR(1)
.RS 4
نمایش شاخهها و کامیتهای آنها\&.
.RE
.PP
Bgit-verify-commitR(1)
.RS 4
بررسی امضای GPG کامیتها\&.
.RE
.PP
Bgit-verify-tagR(1)
.RS 4
بررسی امضای GPG تگها\&.
.RE
.PP
Bgit-versionR(1)
.RS 4
نمایش اطلاعات نسخه گیت\&.
.RE
.PP
Bgit-whatchangedR(1)
.RS 4
نمایش گزارشها همراه با تفاوتهایی که هر کامیت اعمال میکند\&.
.RE
.PP
BgitwebR(1)
.RS 4
رابط کاربری تحت وب گیت (پیشخوان وب برای مخازن گیت)\&.
.RE
.SS "تعامل با دیگران (Interacting with Others)"
.PP
Bgit-archimportR(1)
.RS 4
وارد کردن یک مخزن GNU Arch به گیت\&.
.RE
.PP
Bgit-cvsexportcommitR(1)
.RS 4
صادر کردن یک کامیت منفرد به یک چکاوت CVS\&.
.RE
.PP
Bgit-cvsimportR(1)
.RS 4
نجات دادههای شما از یک سامانه مدیریت نسخه دیگر که مردم دوست دارند از آن بیزار باشند\&.
.RE
.PP
Bgit-cvsserverR(1)
.RS 4
یک شبیهساز سرور CVS برای گیت\&.
.RE
.PP
Bgit-imap-sendR(1)
.RS 4
ارسال مجموعهای از وصلهها از ورودی استاندارد به یک پوشه IMAP\&.
.RE
.PP
Bgit-p4R(1)
.RS 4
وارد کردن از و ارسال به مخازن Perforce\&.
.RE
.PP
Bgit-quiltimportR(1)
.RS 4
اعمال یک مجموعه وصله quilt روی شاخه فعلی\&.
.RE
.PP
Bgit-request-pullR(1)
.RS 4
تولید خلاصهای از تغییرات در حال انتظار\&.
.RE
.PP
Bgit-send-emailR(1)
.RS 4
ارسال مجموعهای از وصلهها به صورت رایانامه\&.
.RE
.PP
Bgit-svnR(1)
.RS 4
عملیات دوطرفه میان یک مخزن Subversion و گیت\&.
.RE
.SS "بازنشانی، بازیابی و بازگردانی (Reset, restore and revert)"
.sp
سه دستور با نامهای مشابه وجود دارند: BgitR BresetR، BgitR BrestoreR و BgitR BrevertR\&.
.sp
.RS 4
.ie n \{\h'-04'\(bu\h'+03'\c
.\}
.el \{.sp -1
.IP \(bu 2.3
.\}
Bgit-revertR(1)
مربوط به ایجاد یک کامیت جدید است که تغییرات اعمالشده توسط کامیتهای دیگر را بازمیگرداند\&.
.RE
.sp
.RS 4
.ie n \{\h'-04'\(bu\h'+03'\c
.\}
.el \{.sp -1
.IP \(bu 2.3
.\}
Bgit-restoreR(1)
مربوط به بازیابی فایلها در درخت کاری از ایندکس یا از یک کامیت دیگر است\&. این دستور شاخه شما را بهروزرسانی نمیکند\&. این دستور همچنین میتواند برای بازیابی فایلها در ایندکس از یک کامیت دیگر استفاده شود\&.
.RE
.sp
.RS 4
.ie n \{\h'-04'\(bu\h'+03'\c
.\}
.el \{.sp -1
.IP \(bu 2.3
.\}
Bgit-resetR(1)
مربوط به بهروزرسانی شاخه شما و جابجا کردن نوک شاخه به منظور افزودن یا حذف کامیتها از شاخه است\&. این عملیات تاریخچه کامیتها را تغییر میدهد\&.
.sp
BgitR
BresetR
همچنین میتواند برای بازیابی ایندکس استفاده شود که با
BgitR
BrestoreR
همپوشانی دارد\&.
.RE
.SH "دستورات سطح پایین (پلامبینگ) (LOW\-LEVEL COMMANDS (PLUMBING))"
.sp
اگرچه گیت شامل لایه پورسلین ویژه خود است، اما دستورات سطح پایین آن برای پشتیبانی از توسعه لایههای پورسلین جایگزین کافی هستند\&. توسعهدهندگان چنین پورسلینهایی میتوانند با مطالعه درباره Bgit-update-indexR(1) و Bgit-read-treeR(1) شروع کنند\&.
.sp
رابط (ورودی، خروجی، مجموعه گزینهها و مفاهیم) این دستورات سطح پایین به مراتب پایدارتر از دستورات سطح پورسلین در نظر گرفته شده است، زیرا این دستورات عمدتاً برای استفاده در اسکریپتها طراحی شدهاند\&. از سوی دیگر، رابط دستورات پورسلین ممکن است به منظور بهبود تجربه کاربر نهایی دستخوش تغییر شود\&.
.SS "دستورات دستکاری (Manipulation commands)"
.PP
Bgit-applyR(1)
.RS 4
اعمال یک وصله بر روی فایلها و/یا بر روی ایندکس\&.
.RE
.PP
Bgit-checkout-indexR(1)
.RS 4
کپی کردن فایلها از ایندکس به درخت کاری\&.
.RE
.PP
Bgit-commit-graphR(1)
.RS 4
نوشتن و اعتبارسنجی فایلهای commit\-graph گیت\&.
.RE
.PP
Bgit-commit-treeR(1)
.RS 4
ایجاد یک شیء کامیت جدید\&.
.RE
.PP
Bgit-hash-objectR(1)
.RS 4
محاسبه شناسه شیء و به صورت اختیاری ایجاد یک شیء از روی یک فایل\&.
.RE
.PP
Bgit-index-packR(1)
.RS 4
ساخت فایل ایندکس بسته برای یک آرشیو بستهبندیشده موجود\&.
.RE
.PP
Bgit-merge-fileR(1)
.RS 4
اجرای ادغام سهطرفه فایلها\&.
.RE
.PP
Bgit-merge-indexR(1)
.RS 4
اجرای ادغام برای فایلهایی که نیازمند ادغام هستند\&.
.RE
.PP
Bgit-mktagR(1)
.RS 4
ایجاد یک شیء تگ با اعتبارسنجی مضاعف\&.
.RE
.PP
Bgit-mktreeR(1)
.RS 4
ساخت یک شیء درخت از روی متن قالببندیشده ls\-tree\&.
.RE
.PP
Bgit-multi-pack-indexR(1)
.RS 4
نوشتن و اعتبارسنجی ایندکسهای چندبستهای\&.
.RE
.PP
Bgit-pack-objectsR(1)
.RS 4
ایجاد یک آرشیو بستهبندیشده از شیءها\&.
.RE
.PP
Bgit-prune-packedR(1)
.RS 4
حذف شیءهای اضافی که پیشتر در فایلهای بسته قرار گرفتهاند\&.
.RE
.PP
Bgit-read-treeR(1)
.RS 4
خواندن اطلاعات درخت به درون ایندکس\&.
.RE
.PP
Bgit-replayR(1)
.RS 4
آزمایشی: بازپخش کامیتها بر روی یک پایه جدید، با مخازن لخت نیز کار میکند\&.
.RE
.PP
Bgit-symbolic-refR(1)
.RS 4
خواندن، تغییر و حذف ارجاعات نمادین\&.
.RE
.PP
Bgit-unpack-objectsR(1)
.RS 4
باز کردن شیءها از یک آرشیو بستهبندیشده\&.
.RE
.PP
Bgit-update-indexR(1)
.RS 4
ثبت محتویات فایل در درخت کاری درون ایندکس\&.
.RE
.PP
Bgit-update-refR(1)
.RS 4
بهروزرسانی امن نام شیء ذخیرهشده در یک ارجاع\&.
.RE
.PP
Bgit-write-treeR(1)
.RS 4
ایجاد یک شیء درخت از ایندکس فعلی\&.
.RE
.SS "دستورات پرسوجو (Interrogation commands)"
.PP
Bgit-cat-fileR(1)
.RS 4
ارائه محتوا یا جزئیات شیءهای مخزن\&.
.RE
.PP
Bgit-cherryR(1)
.RS 4
یافتن کامیتهایی که هنوز به بالادست اعمال نشدهاند\&.
.RE
.PP
Bgit-diff-filesR(1)
.RS 4
مقایسه فایلها در درخت کاری و ایندکس\&.
.RE
.PP
Bgit-diff-indexR(1)
.RS 4
مقایسه یک درخت با درخت کاری یا ایندکس\&.
.RE
.PP
Bgit-diff-pairsR(1)
.RS 4
مقایسه محتوا و حالت جفتهای blob ارائهشده\&.
.RE
.PP
Bgit-diff-treeR(1)
.RS 4
مقایسه محتوا و حالت blobهای یافتشده از طریق دو شیء درخت\&.
.RE
.PP
Bgit-for-each-refR(1)
.RS 4
خروجی دادن اطلاعات درباره هر ارجاع\&.
.RE
.PP
Bgit-for-each-repoR(1)
.RS 4
اجرای یک دستور گیت روی فهرستی از مخازن\&.
.RE
.PP
Bgit-format-revR(1)
.RS 4
آزمایشی: قالببندی زیبای بازبینیها بر حسب تقاضا\&.
.RE
.PP
Bgit-get-tar-commit-idR(1)
.RS 4
استخراج شناسه کامیت از یک آرشیو ایجادشده با git\-archive\&.
.RE
.PP
Bgit-last-modifiedR(1)
.RS 4
آزمایشی: نمایش زمان آخرین تغییر فایلها\&.
.RE
.PP
Bgit-ls-filesR(1)
.RS 4
نمایش اطلاعات درباره فایلها در ایندکس و درخت کاری\&.
.RE
.PP
Bgit-ls-remoteR(1)
.RS 4
فهرست کردن ارجاعات در یک مخزن راهدور\&.
.RE
.PP
Bgit-ls-treeR(1)
.RS 4
فهرست کردن محتوای یک شیء درخت\&.
.RE
.PP
Bgit-merge-baseR(1)
.RS 4
یافتن بهترین نیاکان مشترک ممکن برای یک ادغام\&.
.RE
.PP
Bgit-name-revR(1)
.RS 4
یافتن نامهای نمادین برای بازبینیهای مشخصشده\&.
.RE
.PP
Bgit-pack-redundantR(1)
.RS 4
یافتن فایلهای بسته زائد\&.
.RE
.PP
Bgit-repoR(1)
.RS 4
بازیابی اطلاعات درباره مخزن\&.
.RE
.PP
Bgit-rev-listR(1)
.RS 4
فهرست کردن شیءهای کامیت به ترتیب زمانی معکوس\&.
.RE
.PP
Bgit-rev-parseR(1)
.RS 4
جداسازی و پردازش پارامترها\&.
.RE
.PP
Bgit-show-indexR(1)
.RS 4
نمایش ایندکس آرشیو بستهبندیشده\&.
.RE
.PP
Bgit-show-refR(1)
.RS 4
فهرست کردن ارجاعات در یک مخزن محلی\&.
.RE
.PP
Bgit-unpack-fileR(1)
.RS 4
ایجاد یک فایل موقت با محتوای یک blob\&.
.RE
.PP
Bgit-varR(1)
.RS 4
نمایش یک متغیر منطقی گیت\&.
.RE
.PP
Bgit-verify-packR(1)
.RS 4
اعتبارسنجی فایلهای آرشیو بسته گیت\&.
.RE
.SS "همگامسازی مخازن (Syncing repositories)"
.PP
Bgit-daemonR(1)
.RS 4
یک سرور بسیار ساده برای مخازن گیت\&.
.RE
.PP
Bgit-fetch-packR(1)
.RS 4
دریافت شیءهای ناموجود از یک مخزن دیگر\&.
.RE
.PP
Bgit-http-backendR(1)
.RS 4
پیادهسازی سمت سرور گیت از طریق HTTP\&.
.RE
.PP
Bgit-send-packR(1)
.RS 4
ارسال شیءها از طریق پروتکل گیت به مخزنی دیگر\&.
.RE
.PP
Bgit-update-server-infoR(1)
.RS 4
بهروزرسانی فایل اطلاعات کمکی برای کمک به سرورهای ساده\&.
.RE
.PP
Bgit-http-fetchR(1)
.RS 4
بارگیری از یک مخزن راهدور گیت از طریق HTTP\&.
.RE
.PP
Bgit-http-pushR(1)
.RS 4
ارسال شیءها از طریق HTTP/DAV به مخزنی دیگر\&.
.RE
.PP
Bgit-receive-packR(1)
.RS 4
دریافت آنچه به درون مخزن ارسال (push) میشود\&.
.RE
.PP
Bgit-shellR(1)
.RS 4
پوسته ورود محدودشده برای دسترسی SSH صرفاً ویژه گیت\&.
.RE
.PP
Bgit-upload-archiveR(1)
.RS 4
ارسال مجدد آرشیو به git\-archive\&.
.RE
.PP
Bgit-upload-packR(1)
.RS 4
ارسال شیءهای بستهبندیشده به git\-fetch\-pack\&.
.RE
.SS "دستورات کمکی داخلی (Internal helper commands)"
.PP
Bgit-check-attrR(1)
.RS 4
نمایش اطلاعات gitattributes\&.
.RE
.PP
Bgit-check-ignoreR(1)
.RS 4
اشکالزدایی فایلهای gitignore / exclude\&.
.RE
.PP
Bgit-check-mailmapR(1)
.RS 4
نمایش نامهای رسمی و نشانیهای رایانامه مخاطبان\&.
.RE
.PP
Bgit-check-ref-formatR(1)
.RS 4
اطمینان از خوشساخت بودن یک نام ارجاع\&.
.RE
.PP
Bgit-columnR(1)
.RS 4
نمایش دادهها در ستونها\&.
.RE
.PP
Bgit-credentialR(1)
.RS 4
بازیابی و ذخیرهسازی اطلاعات اعتباری (احراز هویت) کاربر\&.
.RE
.PP
Bgit-credential-cacheR(1)
.RS 4
برنامه کمکی برای ذخیره موقت گذرواژهها در حافظه\&.
.RE
.PP
Bgit-credential-storeR(1)
.RS 4
برنامه کمکی برای ذخیره اطلاعات اعتباری روی دیسک\&.
.RE
.PP
Bgit-fmt-merge-msgR(1)
.RS 4
تولید یک پیام کامیت ادغام\&.
.RE
.PP
Bgit-hookR(1)
.RS 4
اجرای هوکهای گیت\&.
.RE
.PP
Bgit-interpret-trailersR(1)
.RS 4
افزودن یا تجزیه اطلاعات ساختاریافته در پیامهای کامیت\&.
.RE
.PP
Bgit-mailinfoR(1)
.RS 4
استخراج وصله و اطلاعات نویسنده از یک پیام رایانامه منفرد\&.
.RE
.PP
Bgit-mailsplitR(1)
.RS 4
برنامه ساده تفکیککننده mbox یونیکس\&.
.RE
.PP
Bgit-merge-one-fileR(1)
.RS 4
برنامه کمکی استاندارد برای استفاده همراه با git\-merge\-index\&.
.RE
.PP
Bgit-patch-idR(1)
.RS 4
محاسبه شناسههای یکتا برای وصلهها\&.
.RE
.PP
Bgit-sh-i18nR(1)
.RS 4
کد راهاندازی بینالمللیسازی (i18n) گیت برای اسکریپتهای شل\&.
.RE
.PP
Bgit-sh-setupR(1)
.RS 4
کد مشترک راهاندازی اسکریپت شل گیت\&.
.RE
.PP
Bgit-stripspaceR(1)
.RS 4
حذف فاصلههای خالی غیرضروری\&.
.RE
.PP
Bgit-url-parseR(1)
.RS 4
تجزیه و استخراج مؤلفههای نشانی وب گیت\&.
.RE
.SH "راهنماها (GUIDES)"
.sp
صفحات مستندات زیر راهنماهایی پیرامون مفاهیم گیت هستند\&.
.PP
\fBgitcore-tutorial\fR(7)
.RS 4
آموزش مقدماتی هسته گیت برای توسعهدهندگان\&.
.RE
.PP
\fBgitcredentials\fR(7)
.RS 4
ارائه نامهای کاربری و گذرواژهها به گیت\&.
.RE
.PP
\fBgitcvs-migration\fR(7)
.RS 4
گیت برای کاربران CVS\&.
.RE
.PP
\fBgitdiffcore\fR(7)
.RS 4
تنظیم دقیق خروجی diff\&.
.RE
.PP
\fBgiteveryday\fR(7)
.RS 4
مجموعهای مفید و حداقل از دستورات برای استفاده روزمره از گیت\&.
.RE
.PP
\fBgitfaq\fR(7)
.RS 4
پرسشهای متداول درباره استفاده از گیت\&.
.RE
.PP
\fBgitglossary\fR(7)
.RS 4
واژهنامه اصطلاحات گیت\&.
.RE
.PP
\fBgitnamespaces\fR(7)
.RS 4
فضاهای نام گیت\&.
.RE
.PP
\fBgitremote-helpers\fR(7)
.RS 4
برنامههای کمکی برای تعامل با مخازن راهدور\&.
.RE
.PP
\fBgitsubmodules\fR(7)
.RS 4
سوار کردن یک مخزن درون مخزنی دیگر\&.
.RE
.PP
\fBgittutorial\fR(7)
.RS 4
آموزش مقدماتی گیت\&.
.RE
.PP
\fBgittutorial-2\fR(7)
.RS 4
آموزش مقدماتی گیت: بخش دوم\&.
.RE
.PP
\fBgitworkflows\fR(7)
.RS 4
مروری بر جریانهای کاری توصیهشده در گیت\&.
.RE
.SH "رابطهای مخزن، دستور و فایل (REPOSITORY, COMMAND AND FILE INTERFACES)"
.sp
این مستندات به بررسی رابطهای مخزن و دستوری میپردازند که انتظار میرود کاربران مستقیماً با آنها تعامل داشته باشند\&. برای جزئیات بیشتر پیرامون این معیارها، مدخل \fB\-\-user\-formats\fR را در \fBgit-help\fR(1) ببینید\&.
.PP
\fBgitattributes\fR(5)
.RS 4
تعریف ویژگیها به ازای هر مسیر\&.
.RE
.PP
\fBgitcli\fR(7)
.RS 4
رابط خط فرمان و قراردادهای گیت\&.
.RE
.PP
\fBgithooks\fR(5)
.RS 4
هوکهای مورد استفاده توسط گیت\&.
.RE
.PP
\fBgitignore\fR(5)
.RS 4
مشخص کردن فایلهای عمداً ردیابینشده برای نادیده گرفتن\&.
.RE
.PP
\fBgitmailmap\fR(5)
.RS 4
نگاشت نامها و/یا نشانیهای رایانامه نویسنده/کامیتکننده\&.
.RE
.PP
\fBgitmodules\fR(5)
.RS 4
تعریف ویژگیهای زیرپیمانه\&.
.RE
.PP
\fBgitrepository-layout\fR(5)
.RS 4
چیدمان ساختار مخزن گیت\&.
.RE
.PP
\fBgitrevisions\fR(7)
.RS 4
مشخص کردن بازبینیها و محدودهها برای گیت\&.
.RE
.SH "قالبهای فایل، پروتکلها و سایر رابطهای توسعهدهنده (FILE FORMATS, PROTOCOLS AND OTHER DEVELOPER INTERFACES)"
.sp
این مستندات به بررسی قالبهای فایل، پروتکلهای ارتباطی شبکه و سایر رابطهای توسعهدهنده گیت میپردازند\&. مدخل \fB\-\-developer\-interfaces\fR را در \fBgit-help\fR(1) ببینید\&.
.PP
\fBgitformat-bundle\fR(5)
.RS 4
قالب فایل بسته آرشیو (bundle)\&.
.RE
.PP
\fBgitformat-chunk\fR(5)
.RS 4
قالبهای فایل مبتنی بر تکه (chunk)\&.
.RE
.PP
\fBgitformat-commit-graph\fR(5)
.RS 4
قالب فایل commit\-graph گیت\&.
.RE
.PP
\fBgitformat-index\fR(5)
.RS 4
قالب ایندکس گیت\&.
.RE
.PP
\fBgitformat-pack\fR(5)
.RS 4
قالب بسته (pack) گیت\&.
.RE
.PP
\fBgitformat-signature\fR(5)
.RS 4
قالبهای امضای رمزنگاریشده گیت\&.
.RE
.PP
\fBgitprotocol-capabilities\fR(5)
.RS 4
قابلیتهای نسخه ۰ و نسخه ۱ پروتکل\&.
.RE
.PP
\fBgitprotocol-common\fR(5)
.RS 4
موارد مشترک میان پروتکلهای گوناگون\&.
.RE
.PP
\fBgitprotocol-http\fR(5)
.RS 4
پروتکلهای مبتنی بر HTTP گیت\&.
.RE
.PP
\fBgitprotocol-pack\fR(5)
.RS 4
نحوه انتقال بستهها بر روی شبکه\&.
.RE
.PP
\fBgitprotocol-v2\fR(5)
.RS 4
پروتکل ارتباطی شبکه گیت، نسخه ۲\&.
.RE
.SH "سازوکار پیکربندی (CONFIGURATION MECHANISM)"
.sp
گیت از یک قالب متنی ساده برای ذخیرهسازی سفارشیسازیهای مربوط به هر مخزن و هر کاربر استفاده میکند\&. چنین فایل پیکربندی ممکن است به این شکل باشد:
.sp
.if n \{\
.RS 4
.\}
.nf
#
# نویسه \*(Aq#\*(Aq یا \*(Aq;\*(Aq بیانگر یک توضیح است\&.
#
; متغیرهای هسته
[core]
; به حالتهای فایل اعتماد نکن
filemode = false
; هویت کاربر
[user]
name = "Junio C Hamano"
email = "gitster@pobox\&.com"
.fi
.if n \{\
.RE
.\}
.sp
.sp
دستورات گوناگون مقادیر را از فایل پیکربندی خوانده و عملکرد خود را بر همان اساس تنظیم میکنند\&. برای دریافت فهرست و جزئیات بیشتر پیرامون سازوکار پیکربندی به \fBgit-config\fR(1) مراجعه کنید\&.
.SH "اصطلاحات شناسه (IDENTIFIER TERMINOLOGY)"
.PP
.RS 4
بیانگر نام شیء برای هر نوع از شیءها است\&.
.RE
.PP
.RS 4
بیانگر نام شیء blob است\&.
.RE
.PP
.RS 4
بیانگر نام شیء درخت (tree) است\&.
.RE
.PP
.RS 4
بیانگر نام شیء کامیت است\&.
.RE
.PP
.RS 4
بیانگر نام شیء درخت، کامیت یا تگ است\&. دستوری که یک شناسه میپذیرد در نهایت مایل است روی یک شیء عمل کند، اما به صورت خودکار ارجاع شیءهای و را که به یک اشاره میکنند بازگشایی (dereference) میکند\&.
.RE
.PP
.RS 4
بیانگر نام شیء کامیت یا تگ است\&. دستوری که یک شناسه میپذیرد در نهایت مایل است روی یک شیء عمل کند، اما به صورت خودکار ارجاع شیءهای را که به یک اشاره دارند بازگشایی میکند\&.
.RE
.PP
.RS 4
نشان میدهد که نوع شیء الزامی است\&. در حال حاضر یکی از موارد زیر است:
\fBblob\fR،
\fBtree\fR،
\fBcommit\fR، یا
\fBtag\fR\&.
.RE
.PP
.RS 4
بیانگر یک نام فایل است \- تقریباً همیشه نسبت به ریشه ساختار درختی که
\fBGIT_INDEX_FILE\fR
توصیف میکند سنجیده میشود\&.
.RE
.SH "شناسههای نمادین (SYMBOLIC IDENTIFIERS)"
.sp
هر دستور گیت که هر نوع را میپذیرد میتواند از نشانهگذاری نمادین زیر نیز استفاده کند:
.PP
HEAD
.RS 4
بیانگر نوک شاخه فعلی است\&.
.RE
.PP
.RS 4
یک تگ معتبر
\fIname\fR
(یعنی ارجاع
\fBrefs/tags/\fR\fI\fR)\&.
.RE
.PP
.RS 4
یک شاخه معتبر
\fIname\fR
(یعنی ارجاع
\fBrefs/heads/\fR\fI\fR)\&.
.RE
.sp
برای مشاهده فهرستی کاملتر از روشهای نگارش نامهای شیء، بخش "SPECIFYING REVISIONS" را در \fBgitrevisions\fR(7) ببینید\&.
.SH "ساختار فایل/دایرکتوری (FILE/DIRECTORY STRUCTURE)"
.sp
لطفاً مستند \fBgitrepository-layout\fR(5) را ببینید\&.
.sp
برای جزئیات بیشتر درباره هر هوک، \fBgithooks\fR(5) را بخوانید\&.
.sp
سامانههای مدیریت پیکربندی سطح بالاتر ممکن است اطلاعات بیشتری را در \fB$GIT_DIR\fR ارائه کرده و مدیریت کنند\&.
.SH "اصطلاحات (TERMINOLOGY)"
.sp
لطفاً \fBgitglossary\fR(7) را ببینید\&.
.SH "متغیرهای محیطی (ENVIRONMENT VARIABLES)"
.sp
دستورات گوناگون گیت به متغیرهای محیطی توجه کرده و رفتار خود را تغییر میدهند\&. متغیرهای محیطی که به عنوان "بولی" (Boolean) مشخص شدهاند، مقادیر خود را به همان روش متغیرهای پیکربندی بولی دریافت میکنند؛ یعنی "true"، "yes"، "on" و اعداد مثبت به عنوان "yes"، در حالی که "false"، "no"، "off" و "0" به عنوان "no" در نظر گرفته میشوند\&.
.sp
این متغیرها به شرح زیر هستند:
.SS "سیستم (System)"
.PP
\fBHOME\fR
.RS 4
مسیر دایرکتوری خانگی کاربر را مشخص میکند\&. در ویندوز، اگر تنظیم نشده باشد، گیت یک متغیر محیطی فرایند را برابر با:
\fB$HOMEDRIVE$HOMEPATH\fR
تنظیم میکند اگر هر دو متغیر
\fB$HOMEDRIVE\fR
و
\fB$HOMEPATH\fR
وجود داشته باشند؛ در غیر این صورت روی
\fB$USERPROFILE\fR
تنظیم میشود اگر
\fB$USERPROFILE\fR
موجود باشد\&.
.RE
.PP
\fBPATH\fR
.RS 4
هنگامی که کاربر دستور
\fIgit \fR
را اجرا میکند که بخشی از برنامههای اصلی گیت (نصبشده در GIT_EXEC_PATH) نیست، دستور
\fIgit\-\fR
که توسط کاربر در دایرکتوری موجود در
\fB$PATH\fR
قابل اجرا باشد فراخوانی میشود\&. آرگومانهای ارائهشده پس از نام دستور، عیناً به برنامه منتقل میشوند\&. برای اجرای
\fBgit\fR
\fI\fR،
گیت پیش از امتحان کردن
\fBfoo\fR
به عنوان یک نام مستعار، ابتدا به دنبال دستور
\fI\fR
میگردد (خواه یک برنامه اصلی گیت در
\fIGIT_EXEC_PATH\fR
باشد، یا یک برنامه سفارشی در دایرکتوری موجود در
\fIPATH\fR)\&.
.RE
.SS "مخزن گیت (The Git Repository)"
.sp
این متغیرهای محیطی بر \fIهمه\fR دستورات اصلی گیت اعمال میشوند\&. توجه: شایان ذکر است که این متغیرها ممکن است توسط سامانههای مدیریت نسخه مستقر بر روی گیت استفاده یا بازنویسی شوند؛ بنابراین هنگام استفاده از پیشخوانهای واسط خارجی دقت فرمایید\&.
.PP
\fBGIT_INDEX_FILE\fR
.RS 4
این متغیر محیطی یک فایل ایندکس جایگزین را مشخص میکند\&. در صورت مشخص نشدن، مقدار پیشفرض
\fB$GIT_DIR/index\fR
استفاده میشود\&.
.RE
.PP
\fBGIT_INDEX_VERSION\fR
.RS 4
این متغیر محیطی مشخص میکند هنگام نوشتن فایل ایندکس، از چه نسخهای از ایندکس استفاده شود\&. این متغیر بر فایلهای ایندکس موجود تأثیری ندارد\&. به طور پیشفرض نسخه ۲ یا ۳ فایل ایندکس به کار میرود\&. برای اطلاعات بیشتر به
\fBgit-update-index\fR(1)
مراجعه کنید\&.
.RE
.PP
\fBGIT_OBJECT_DIRECTORY\fR
.RS 4
اگر دایرکتوری ذخیرهسازی شیء از طریق این متغیر محیطی مشخص شود، دایرکتوریهای sha1 در زیر آن ایجاد میشوند؛ در غیر این صورت دایرکتوری پیشفرض
\fB$GIT_DIR/objects\fR
استفاده میشود\&.
.RE
.PP
\fBGIT_ALTERNATE_OBJECT_DIRECTORIES\fR
.RS 4
به دلیل ماهیت تغییرناپذیر شیءهای گیت، شیءهای قدیمی میتوانند در دایرکتوریهای اشتراکی و فقطخواندنی آرشیو شوند\&. این متغیر فهرستی از دایرکتوریهای شیء گیت را مشخص میکند که با ":" (در ویندوز با ";") از هم جدا شدهاند و میتوان برای جستجوی شیءهای گیت از آنها استفاده کرد\&. شیءهای جدید در این دایرکتوریها نوشته نخواهند شد\&.
.sp
مداخلاتی که با " (نقلقول دوتایی) آغاز میشوند به عنوان مسیرهای نقلقولشده به سبک C تفسیر میگردند، بدینصورت که نقلقولهای دوتایی ابتدایی و انتهایی حذف شده و نویسههای اسکیپ با بکاسلش رعایت میشوند\&. برای مثال مقدار "path\-with\-\e"\-and\-:\-in\-it":vanilla\-path دارای دو مسیر است:
\fBpath\-with\-\fR"\-and\-:\-in\-it و
\fBvanilla\-path\fR\&.
.RE
.PP
\fBGIT_DIR\fR
.RS 4
اگر متغیر محیطی
\fBGIT_DIR\fR
تنظیم شده باشد، مسیری را مشخص میکند که به جای دایرکتوری پیشفرض
\fB\&.git\fR
به عنوان پایه مخزن استفاده شود\&. گزینه خط فرمان
\fB\-\-git\-dir\fR
نیز این مقدار را تنظیم میکند\&.
.RE
.PP
\fBGIT_WORK_TREE\fR
.RS 4
مسیر ریشه درخت کاری را تنظیم میکند\&. این را میتوان با گزینه خط فرمان
\fB\-\-work\-tree\fR
و متغیر پیکربندی core\&.worktree نیز کنترل کرد\&.
.RE
.PP
\fBGIT_NAMESPACE\fR
.RS 4
فضای نام گیت را تنظیم میکند؛ برای جزئیات به
\fBgitnamespaces\fR(7)
مراجعه کنید\&. گزینه خط فرمان
\fB\-\-namespace\fR
نیز این مقدار را تنظیم میکند\&.
.RE
.PP
\fBGIT_CEILING_DIRECTORIES\fR
.RS 4
این متغیر باید فهرستی از مسیرهای مطلق جداشده با دونقطه باشد\&. در صورت تنظیم، فهرستی از دایرکتوریها است که گیت هنگام جستجو به سمت بالا برای یافتن دایرکتوری مخزن نباید وارد آنها شود (برای مستثنی کردن دایرکتوریهای کند شبکه بسیار کاربردی است)\&. این متغیر دایرکتوری کاری فعلی یا یک GIT_DIR تنظیمشده در خط فرمان یا محیط را مستثنی نمیکند\&. در حالت عادی، گیت باید ورودیهای این فهرست را خوانده و هر پیوند نمادینی را که ممکن است وجود داشته باشد حل کند تا آنها را با دایرکتوری فعلی مقایسه کند\&. با این حال، اگر حتی این دسترسی نیز کند باشد، میتوانید یک ورودی خالی به فهرست بیفزایید تا به گیت اعلام کنید که ورودیهای بعدی پیوند نمادین نیستند و نیازی به حل آنها نیست؛ برای مثال:
\fBGIT_CEILING_DIRECTORIES=/maybe/symlink::/very/slow/non/symlink\fR\&.
.RE
.PP
\fBGIT_DISCOVERY_ACROSS_FILESYSTEM\fR
.RS 4
هنگامی که در دایرکتوری فاقد دایرکتوری مخزن "\&.git" اجرا میشود، گیت تلاش میکند چنین دایرکتوریای را در دایرکتوریهای والد پیدا کند تا بالاترین سطح درخت کاری را بیابد، اما به طور پیشفرض از مرزهای سیستم فایل عبور نمیکند\&. این متغیر محیطی بولی را میتوان روی true تنظیم کرد تا به گیت بگوید در مرزهای سیستم فایل متوقف نشود\&. همانند
\fBGIT_CEILING_DIRECTORIES\fR،
این متغیر بر دایرکتوری مخزنی که صراحتاً از طریق
\fBGIT_DIR\fR
یا در خط فرمان تنظیم شده باشد تأثیری نمیگذارد\&.
.RE
.PP
\fBGIT_COMMON_DIR\fR
.RS 4
اگر این متغیر روی یک مسیر تنظیم شود، فایلهای غیرمرتبط با درخت کاری که معمولاً در $GIT_DIR هستند از این مسیر برداشته میشوند\&. فایلهای مختص درخت کاری مانند HEAD یا index از $GIT_DIR خوانده میشوند\&. برای جزئیات به
\fBgitrepository-layout\fR(5)
و
\fBgit-worktree\fR(1)
مراجعه فرمایید\&. این متغیر اولویت پایینتری نسبت به سایر متغیرهای مسیر مانند GIT_INDEX_FILE ،GIT_OBJECT_DIRECTORY و غیره دارد\&.
.RE
.PP
\fBGIT_DEFAULT_HASH\fR
.RS 4
اگر این متغیر تنظیم شود، الگوریتم هش پیشفرض برای مخازن جدید روی این مقدار تنظیم میگردد\&. این مقدار هنگام کلون کردن نادیده گرفته میشود و همواره از تنظیمات مخزن راهدور استفاده میشود\&. مقدار پیشفرض "sha1" است\&. مدخل
\fB\-\-object\-format\fR
را در
\fBgit-init\fR(1)
ببینید\&.
.RE
.PP
\fBGIT_DEFAULT_REF_FORMAT\fR
.RS 4
اگر این متغیر تنظیم شود، قالب بخش پسین ارجاع پیشفرض برای مخازن جدید روی این مقدار تنظیم خواهد شد\&. مقدار پیشفرض "files" است\&. مدخل
\fB\-\-ref\-format\fR
را در
\fBgit-init\fR(1)
ببینید\&.
.RE
.PP
\fBGIT_REFERENCE_BACKEND\fR
.RS 4
مشخص میکند کدام بخش پسین ارجاع همراه با URI آن استفاده شود\&. برای جزئیات بیشتر به گزینه
\fBextensions\&.refStorage\fR
در
\fBgit-config\fR(1)
مراجعه فرمایید\&. در صورت استفاده، بر متغیر پیکربندی اولویت دارد\&.
.RE
.SS "کامیتهای گیت (Git Commits)"
.PP
\fBGIT_AUTHOR_NAME\fR
.RS 4
نام خوانا برای انسان که در هویت نویسنده هنگام ایجاد شیءهای کامیت یا تگ، یا هنگام نوشتن reflogها استفاده میشود\&. بر تنظیمات پیکربندی
\fBuser\&.name\fR
و
\fBauthor\&.name\fR
اولویت دارد\&.
.RE
.PP
\fBGIT_AUTHOR_EMAIL\fR
.RS 4
نشانی رایانامه مورد استفاده در هویت نویسنده هنگام ایجاد شیءهای کامیت یا تگ، یا هنگام نوشتن reflogها\&. بر تنظیمات پیکربندی
\fBuser\&.email\fR
و
\fBauthor\&.email\fR
اولویت دارد\&.
.RE
.PP
\fBGIT_AUTHOR_DATE\fR
.RS 4
تاریخ مورد استفاده برای هویت نویسنده هنگام ایجاد شیءهای کامیت یا تگ، یا هنگام نوشتن reflogها\&. برای قالبهای معتبر به
\fBgit-commit\fR(1)
مراجعه کنید\&.
.RE
.PP
\fBGIT_COMMITTER_NAME\fR
.RS 4
نام خوانا برای انسان که در هویت کامیتکننده هنگام ایجاد شیءهای کامیت یا تگ، یا هنگام نوشتن reflogها استفاده میشود\&. بر تنظیمات پیکربندی
\fBuser\&.name\fR
و
\fBcommitter\&.name\fR
اولویت دارد\&.
.RE
.PP
\fBGIT_COMMITTER_EMAIL\fR
.RS 4
نشانی رایانامه مورد استفاده در هویت کامیتکننده هنگام ایجاد شیءهای کامیت یا تگ، یا هنگام نوشتن reflogها\&. بر تنظیمات پیکربندی
\fBuser\&.email\fR
و
\fBcommitter\&.email\fR
اولویت دارد\&.
.RE
.PP
\fBGIT_COMMITTER_DATE\fR
.RS 4
تاریخ مورد استفاده برای هویت کامیتکننده هنگام ایجاد شیءهای کامیت یا تگ، یا هنگام نوشتن reflogها\&. برای قالبهای معتبر به
\fBgit-commit\fR(1)
مراجعه کنید\&.
.RE
.PP
\fBEMAIL\fR
.RS 4
نشانی رایانامهای که در هویت نویسنده و کامیتکننده استفاده میشود، در صورتی که هیچ متغیر محیطی یا تنظیم پیکربندی مرتبط دیگری تنظیم نشده باشد\&.
.RE
.SS "تفاوتهای گیت (Git Diffs)"
.PP
\fBGIT_DIFF_OPTS\fR
.RS 4
تنها تنظیم معتبر "\-\-unified=??" یا "\-u??" برای تنظیم تعداد خطوط زمینهای است که هنگام ایجاد diff یکپارچه نمایش داده میشود\&. این گزینه بر هر مقدار "\-U" یا "\-\-unified" ارائهشده در خط فرمان git diff اولویت دارد\&.
.RE
.PP
\fBGIT_EXTERNAL_DIFF\fR
.RS 4
هنگامی که متغیر محیطی
\fBGIT_EXTERNAL_DIFF\fR
تنظیم شده باشد، برنامهای که توسط آن نامگذاری شده برای تولید diffها فراخوانی میشود و گیت از سازوکار داخلی diff خود استفاده نمیکند\&. برای مسیری که اضافه، حذف یا ویرایش شده است،
\fBGIT_EXTERNAL_DIFF\fR
با ۷ پارامتر فراخوانی میشود:
.sp
.if n \{\
.RS 4
.\}
.nf
path old\-file old\-hex old\-mode new\-file new\-hex new\-mode
.fi
.if n \{\
.RE
.\}
.sp
که در آن:
.RE
.PP
\-file
.RS 4
فایلهایی هستند که GIT_EXTERNAL_DIFF میتواند برای خواندن محتوای از آنها استفاده کند،
.RE
.PP
\-hex
.RS 4
هشهای ۴۰ نویسهای هگزادسیمال SHA\-1 هستند،
.RE
.PP
\-mode
.RS 4
نمایش هشتهشتی (اکتال) حالتهای فایل هستند\&.
.sp
پارامترهای فایل میتوانند به فایل کاری کاربر (مانند
\fBnew\-file\fR
در "git\-diff\-files")،
\fB/dev/null\fR
(مانند
\fBold\-file\fR
هنگامی که یک فایل جدید افزوده میشود)، یا یک فایل موقت (مانند
\fBold\-file\fR
در ایندکس) اشاره کنند\&.
\fBGIT_EXTERNAL_DIFF\fR
نباید نگران حذف کردن فایل موقت باشد \(em این فایل هنگام خروج
\fBGIT_EXTERNAL_DIFF\fR
حذف میشود\&.
.sp
برای مسیری که ادغامنشده است،
\fBGIT_EXTERNAL_DIFF\fR
با ۱ پارامتر، ، فراخوانی میشود\&.
.sp
به ازای هر مسیری که
\fBGIT_EXTERNAL_DIFF\fR
فراخوانی میشود، دو متغیر محیطی
\fBGIT_DIFF_PATH_COUNTER\fR
و
\fBGIT_DIFF_PATH_TOTAL\fR
تنظیم میشوند\&.
.RE
.PP
\fBGIT_EXTERNAL_DIFF_TRUST_EXIT_CODE\fR
.RS 4
اگر این متغیر محیطی بولی روی true تنظیم شود، انتظار میرود دستور
\fBGIT_EXTERNAL_DIFF\fR
در صورتی که فایلهای ورودی را برابر بداند کد خروج ۰ و اگر آنها را متفاوت بداند کد خروج ۱ را بازگرداند، همانند
\fBdiff\fR(\fB1\fR)\&.
اگر روی false تنظیم شده باشد که حالت پیشفرض است، انتظار میرود دستور صرفنظر از برابری کد خروج ۰ را بازگرداند\&. هر کد خروج دیگری باعث میشود گیت خطای مهلک گزارش کند\&.
.RE
.PP
\fBGIT_DIFF_PATH_COUNTER\fR
.RS 4
یک شمارنده بر پایه ۱ که برای هر مسیر یک واحد افزایش مییابد\&.
.RE
.PP
\fBGIT_DIFF_PATH_TOTAL\fR
.RS 4
تعداد کل مسیرها\&.
.RE
.SS "سایر (other)"
.PP
\fBGIT_MERGE_VERBOSITY\fR
.RS 4
عددی که میزان خروجی ارائهشده توسط استراتژی ادغام بازگشتی را کنترل میکند\&. بر merge\&.verbosity اولویت دارد\&. به
\fBgit-merge\fR(1)
مراجعه فرمایید\&.
.RE
.PP
\fBGIT_PAGER\fR
.RS 4
این متغیر محیطی بر
\fB$PAGER\fR
اولویت دارد\&. اگر روی یک رشته خالی یا مقدار "cat" تنظیم شود، گیت هیچ صفحهبندی را اجرا نخواهد کرد\&. همچنین گزینه
\fBcore\&.pager\fR
را در
\fBgit-config\fR(1)
ببینید\&.
.RE
.PP
\fBGIT_PROGRESS_DELAY\fR
.RS 4
عددی که کنترل میکند پیش از نمایش نشانگرهای اختیاری پیشرفت چند ثانیه تأخیر ایجاد شود\&. پیشفرض ۱ است\&.
.RE
.PP
\fBGIT_EDITOR\fR
.RS 4
این متغیر محیطی بر
\fB$EDITOR\fR
و
\fB$VISUAL\fR
اولویت دارد\&. توسط چندین دستور گیت زمانی که در حالت تعاملی نیاز به باز کردن یک ویرایشگر باشد استفاده میشود\&. همچنین به
\fBgit-var\fR(1)
و گزینه
\fBcore\&.editor\fR
در
\fBgit-config\fR(1)
مراجعه کنید\&.
.RE
.PP
\fBGIT_SEQUENCE_EDITOR\fR
.RS 4
این متغیر محیطی هنگام ویرایش فهرست todo در یک rebase تعاملی، بر ویرایشگر پیکربندیشده گیت اولویت دارد\&. همچنین به
\fBgit-rebase\fR(1)
و گزینه
\fBsequence\&.editor\fR
در
\fBgit-config\fR(1)
مراجعه فرمایید\&.
.RE
.PP
\fBGIT_SSH\fR, \fBGIT_SSH_COMMAND\fR
.RS 4
اگر هر یک از این متغیرهای محیطی تنظیم شده باشد،
\fIgit fetch\fR
و
\fIgit push\fR
هنگامی که نیاز به اتصال به یک سامانه راهدور داشته باشند، به جای
\fIssh\fR
از دستور مشخصشده استفاده خواهند کرد\&. پارامترهای خط فرمان ارسالی به دستور پیکربندیشده توسط گونه ssh تعیین میشوند\&. برای جزئیات به گزینه
\fBssh\&.variant\fR
در
\fBgit-config\fR(1)
مراجعه کنید\&.
.sp
\fB$GIT_SSH_COMMAND\fR
بر
\fB$GIT_SSH\fR
اولویت دارد و توسط پوسته تفسیر میشود، که این امر امکان گنجاندن آرگومانهای اضافی را فراهم میسازد\&.
\fB$GIT_SSH\fR
از سوی دیگر باید صرفاً مسیر یک برنامه باشد (در صورت نیاز به آرگومانهای اضافی، میتواند یک اسکریپت پوشاننده پوسته باشد)\&.
.sp
معمولاً پیکربندی گزینههای مورد نظر از طریق فایل شخصی
\fB\&.ssh/config\fR
آسانتر است\&. لطفاً برای جزئیات بیشتر به مستندات ssh خود مراجعه فرمایید\&.
.RE
.PP
\fBGIT_SSH_VARIANT\fR
.RS 4
اگر این متغیر محیطی تنظیم شود، تشخیص خودکار گیت را مبنی بر اینکه آیا
\fBGIT_SSH\fR/\fBGIT_SSH_COMMAND\fR/\fBcore\&.sshCommand\fR
به OpenSSH ،plink یا tortoiseplink ارجاع دارد بازنویسی میکند\&. این متغیر بر تنظیم پیکربندی
\fBssh\&.variant\fR
که هدف یکسانی دارد اولویت خواهد داشت\&.
.RE
.PP
\fBGIT_SSL_NO_VERIFY\fR
.RS 4
تنظیم و صادر کردن این متغیر محیطی با هر مقداری به گیت اعلام میکند که هنگام واکشی یا ارسال بر روی HTTPS، گواهی SSL را اعتبارسنجی نکند\&.
.RE
.PP
\fBGIT_ATTR_SOURCE\fR
.RS 4
تعیین میکند که ویژگیهای gitattributes از کدام درختواره (treeish) خوانده شوند\&.
.RE
.PP
\fBGIT_ASKPASS\fR
.RS 4
اگر این متغیر محیطی تنظیم شود، دستورات گیت که نیاز به دریافت گذرواژهها یا عبارتهای عبور دارند (مثلاً برای احراز هویت HTTP یا IMAP) این برنامه را با یک اعلان مناسب به عنوان آرگومان خط فرمان فراخوانی کرده و گذرواژه را از خروجی استاندارد (STDOUT) آن دریافت میکنند\&. همچنین گزینه
\fBcore\&.askPass\fR
را در
\fBgit-config\fR(1)
ببینید\&.
.RE
.PP
\fBGIT_TERMINAL_PROMPT\fR
.RS 4
اگر این متغیر محیطی بولی روی false تنظیم شود، گیت در ترمینال هیچ اعلانی نمایش نمیدهد (مثلاً هنگام درخواست احراز هویت HTTP)\&.
.RE
.PP
\fBGIT_CONFIG_GLOBAL\fR, \fBGIT_CONFIG_SYSTEM\fR
.RS 4
پیکربندی را به جای فایلهای پیکربندی سطح سراسری یا سیستمی، از فایلهای مشخصشده دریافت میکند\&. اگر
\fBGIT_CONFIG_SYSTEM\fR
تنظیم شود، فایل پیکربندی سیستمی تعریفشده در زمان ساخت (معمولاً
\fB/etc/gitconfig\fR)
خوانده نخواهد شد\&. به همین ترتیب، اگر
\fBGIT_CONFIG_GLOBAL\fR
تنظیم شود، نه
\fB$HOME/\&.gitconfig\fR
و نه
\fB$XDG_CONFIG_HOME/git/config\fR
خوانده نخواهند شد\&. میتوان آن را روی
\fB/dev/null\fR
تنظیم کرد تا از خواندن فایلهای پیکربندی سطح مربوطه صرفنظر شود\&.
.RE
.PP
\fBGIT_CONFIG_NOSYSTEM\fR
.RS 4
اینکه آیا از خواندن تنظیمات از فایل سراسری سیستم
\fB$\fR(\fBprefix\fR)\fB/etc/gitconfig\fR
صرفنظر شود یا خیر\&. این متغیر محیطی بولی را میتوان همراه با
\fB$HOME\fR
و
\fB$XDG_CONFIG_HOME\fR
برای ایجاد محیطی قابل پیشبینی برای یک اسکریپت حساس استفاده کرد، یا میتوانید آن را روی true تنظیم کنید تا موقتاً از یک فایل دارای اشکال
\fB/etc/gitconfig\fR
در حین انتظار برای اصلاح آن توسط فردی با دسترسی کافی دوری گزینید\&.
.RE
.PP
\fBGIT_FLUSH\fR
.RS 4
اگر این متغیر محیطی بولی روی true تنظیم شود، دستوراتی نظیر
\fIgit blame\fR
(در حالت افزایشی)،
\fIgit rev\-list\fR،
\fIgit log\fR،
\fIgit check\-attr\fR
و
\fIgit check\-ignore\fR
پس از هر رکوردی که ارسال میشود، جریان خروجی را مجبور به فلاش (تخلیه فوری بافر) میکنند\&. اگر این متغیر روی false تنظیم شود، خروجی این دستورات با استفاده از ورودی/خروجی کاملاً بافرشده انجام میپذیرد\&. اگر این متغیر تنظیم نشده باشد، گیت بر پایه اینکه آیا stdout به یک فایل هدایت شده است یا خیر، تخلیه بافرشده یا رکورد-محور را انتخاب میکند\&.
.RE
.PP
\fBGIT_TRACE\fR
.RS 4
پیامهای ردیابی عمومی را فعال میکند؛ مانند بسط نامهای مستعار، اجرای دستورات توکار و اجرای دستورات خارجی\&.
.sp
اگر این متغیر روی "1"، "2" یا "true" تنظیم شود (مقایسه حساس به بزرگی و کوچکی حروف نیست)، پیامهای ردیابی در stderr چاپ میشوند\&.
.sp
اگر متغیر روی یک مقدار عددی صحیح بزرگتر از ۲ و اکیداً کمتر از ۱۰ تنظیم شود، گیت این مقدار را به عنوان یک توصیفگر فایل باز تفسیر کرده و تلاش میکند پیامهای ردیابی را در این توصیفگر فایل بنویسد\&.
.sp
یا اینکه اگر متغیر روی یک مسیر مطلق تنظیم شود (که با نویسه
\fI/\fR
آغاز میشود)، گیت آن را به عنوان یک مسیر فایل تفسیر کرده و تلاش میکند پیامهای ردیابی را به انتهای آن اضافه کند\&.
.sp
تنظیمنکردن متغیر، یا تنظیم آن روی خالی، "0" یا "false" (بدون حساسیت به بزرگی و کوچکی حروف)، پیامهای ردیابی را غیرفعال میکند\&.
.RE
.PP
\fBGIT_TRACE_FSMONITOR\fR
.RS 4
پیامهای ردیابی را برای افزونه پایشگر سیستم فایل (fsmonitor) فعال میکند\&. برای گزینههای خروجی ردیابی موجود،
\fBGIT_TRACE\fR
را ببینید\&.
.RE
.PP
\fBGIT_TRACE_PACK_ACCESS\fR
.RS 4
پیامهای ردیابی را برای تمامی دسترسیها به بستهها فعال میکند\&. برای هر دسترسی، نام فایل بسته و آفست مربوطه در بسته ثبت میشود\&. این گزینه ممکن است برای عیبیابی برخی از مشکلات کارایی مرتبط با بستهها مفید باشد\&. برای گزینههای خروجی ردیابی موجود،
\fBGIT_TRACE\fR
را ببینید\&.
.RE
.PP
\fBGIT_TRACE_PACKET\fR
.RS 4
پیامهای ردیابی را برای تمامی بستههای ورودی یا خروجی یک برنامه معین فعال میکند\&. این میتواند به اشکالزدایی مذاکره شیءها یا سایر مسائل پروتکل کمک کند\&. ردیابی در بستهای که با "PACK" آغاز میشود غیرفعال میگردد (اما بخش
\fBGIT_TRACE_PACKFILE\fR
را در زیر ببینید)\&. برای گزینههای خروجی ردیابی،
\fBGIT_TRACE\fR
را ببینید\&.
.RE
.PP
\fBGIT_TRACE_PACKFILE\fR
.RS 4
ردیابی فایلهای بسته ارسالی یا دریافتی توسط یک برنامه معین را فعال میکند\&. بر خلاف سایر خروجیهای ردیابی، این ردیابی عیناً انجام میشود: بدون سرآیند و بدون نقلقول دادههای باینری\&. به احتمال بسیار قوی مایل خواهید بود خروجی را درون یک فایل هدایت کنید (مثلاً
\fBGIT_TRACE_PACKFILE=/tmp/my\&.pack\fR)
به جای اینکه آن را روی ترمینال نمایش دهید یا با سایر خروجیهای ردیابی ترکیب کنید\&.
.sp
توجه داشته باشید که این ویژگی در حال حاضر فقط برای سمت کلاینت کلونها و واکشیها پیادهسازی شده است\&.
.RE
.PP
\fBGIT_TRACE_PERFORMANCE\fR
.RS 4
پیامهای ردیابی مرتبط با کارایی را فعال میکند؛ مانند زمان کل اجرای هر دستور گیت\&. برای گزینههای خروجی ردیابی،
\fBGIT_TRACE\fR
را ببینید\&.
.RE
.PP
\fBGIT_TRACE_REFS\fR
.RS 4
پیامهای ردیابی را برای عملیات روی پایگاه داده ارجاعات فعال میکند\&. برای گزینههای خروجی ردیابی،
\fBGIT_TRACE\fR
را ببینید\&.
.RE
.PP
\fBGIT_TRACE_SETUP\fR
.RS 4
پیامهای ردیابی را فعال میکند که دایرکتوری git.، درخت کاری و دایرکتوری کاری فعلی را پس از تکمیل مرحله راهاندازی گیت چاپ میکنند\&. برای گزینههای خروجی ردیابی،
\fBGIT_TRACE\fR
را ببینید\&.
.RE
.PP
\fBGIT_TRACE_SHALLOW\fR
.RS 4
پیامهای ردیابی را فعال میکند که میتوانند به اشکالزدایی واکشی / کلون کردن مخازن کمعمق کمک کنند\&. برای گزینههای خروجی ردیابی،
\fBGIT_TRACE\fR
را ببینید\&.
.RE
.PP
\fBGIT_TRACE_CURL\fR
.RS 4
تخلیه ردیابی کامل curl از تمامی دادههای ورودی و خروجی، شامل اطلاعات توصیفی پروتکل انتقال گیت را فعال میکند\&. این شبیه به اجرای دستور curl همراه با
\fB\-\-trace\-ascii\fR
در خط فرمان است\&. برای گزینههای خروجی ردیابی،
\fBGIT_TRACE\fR
را ببینید\&.
.RE
.PP
\fBGIT_TRACE_CURL_NO_DATA\fR
.RS 4
هنگامی که ردیابی curl فعال است (به
\fBGIT_TRACE_CURL\fR
در بالا نگاه کنید)، دادهها را تخلیه نمیکند (یعنی فقط خطوط اطلاعات و سرآیندها تخلیه میشوند)\&.
.RE
.PP
\fBGIT_TRACE2\fR
.RS 4
پیامهای ردیابی دقیقتری را از کتابخانه "trace2" فعال میکند\&. خروجی حاصل از
\fBGIT_TRACE2\fR
یک قالب متنی ساده برای خوانایی توسط انسان است\&.
.sp
اگر این متغیر روی "1"، "2" یا "true" تنظیم شود (مقایسه حساس به بزرگی و کوچکی حروف نیست)، پیامهای ردیابی در stderr چاپ میشوند\&.
.sp
اگر متغیر روی یک مقدار عددی صحیح بزرگتر از ۲ و اکیداً کمتر از ۱۰ تنظیم شود، گیت این مقدار را به عنوان یک توصیفگر فایل باز تفسیر کرده و سعی میکند پیامهای ردیابی را در این توصیفگر فایل بنویسد\&.
.sp
یا اینکه اگر متغیر روی یک مسیر مطلق تنظیم شود (که با نویسه
\fI/\fR
شروع میشود)، گیت آن را به عنوان مسیر یک فایل تفسیر کرده و سعی میکند پیامهای ردیابی را به انتهای آن اضافه کند\&. اگر مسیر از قبل وجود داشته باشد و یک دایرکتوری باشد، پیامهای ردیابی در فایلهایی (یکی به ازای هر فرایند) در آن دایرکتوری نوشته میشوند که نام آنها بر اساس آخرین بخش SID و یک شمارنده اختیاری (جهت جلوگیری از تداخل نام فایلها) تعیین میگردد\&.
.sp
علاوه بر این، اگر متغیر روی
\fBaf_unix:\fR[\fI\fR\fB:\fR]\fI\fR
تنظیم شود، گیت تلاش میکند مسیر را به عنوان یک سوکت دامنه یونیکس باز کند\&. نوع سوکت میتواند
\fBstream\fR
یا
\fBdgram\fR
باشد\&.
.sp
تنظیمنکردن متغیر، یا تنظیم آن روی خالی، "0" یا "false" (بدون حساسیت به بزرگی و کوچکی حروف)، پیامهای ردیابی را غیرفعال میکند\&.
.sp
برای جزئیات کامل،
\m[blue]\fBTrace2 documentation\fR\m[]\&\s-2\u[2]\d\s+2
را ببینید\&.
.RE
.PP
\fBGIT_TRACE2_EVENT\fR
.RS 4
این تنظیم قالبی مبتنی بر JSON مینویسد که برای تفسیر توسط ماشین مناسب است\&. برای گزینههای خروجی ردیابی به
\fBGIT_TRACE2\fR
و برای جزئیات کامل به
\m[blue]\fBTrace2 documentation\fR\m[]\&\s-2\u[2]\d\s+2
مراجعه فرمایید\&.
.RE
.PP
\fBGIT_TRACE2_PERF\fR
.RS 4
علاوه بر پیامهای متنی موجود در
\fBGIT_TRACE2\fR،
این تنظیم قالبی ستونمحور برای درک نواحی تو در تو مینویسد\&. برای گزینههای خروجی ردیابی به
\fBGIT_TRACE2\fR
و برای جزئیات کامل به
\m[blue]\fBTrace2 documentation\fR\m[]\&\s-2\u[2]\d\s+2
مراجعه کنید\&.
.RE
.PP
\fBGIT_TRACE_REDACT\fR
.RS 4
به صورت پیشفرض، هنگامی که ردیابی فعال است، گیت مقادیر کوکیها، سرآیند "Authorization:"، سرآیند "Proxy\-Authorization:" و نشانیهای بسته را پنهانسازی (redact) میکند\&. این متغیر محیطی بولی را روی false تنظیم کنید تا از این پنهانسازی جلوگیری شود\&.
.RE
.PP
\fBGIT_NO_REPLACE_OBJECTS\fR
.RS 4
تنظیم و صادر کردن این متغیر محیطی به گیت میگوید که ارجاعات جایگزین را نادیده بگیرد و شیءهای گیت را جایگزین نکند\&.
.RE
.PP
\fBGIT_LITERAL_PATHSPECS\fR
.RS 4
تنظیم این متغیر محیطی بولی روی true باعث میشود گیت با همه الگوهای مسیر به صورت تحتاللفظی رفتار کند، نه به عنوان الگوهای تطبیق (glob)\&. برای مثال، اجرای
\fBGIT_LITERAL_PATHSPECS=1\fR
\fBgit\fR
\fBlog\fR
\fB\-\-\fR
\*(Aq*\&.c\*(Aq به دنبال کامیتهایی میگردد که مسیر
\fB*\&.c\fR
را لمس کردهاند، نه هر مسیری که الگوی تطبیق
\fB*\&.c\fR
با آن مطابقت دارد\&. اگر در حال تحویل دادن مسیرهای تحتاللفظی به گیت هستید (مانند مسیرهایی که قبلاً توسط
\fBgit\fR
\fBls\-tree\fR،
خروجی diff
\fB\-\-raw\fR
و غیره ارائه شده است)، ممکن است به این گزینه نیاز داشته باشید\&.
.RE
.PP
\fBGIT_GLOB_PATHSPECS\fR
.RS 4
تنظیم این متغیر محیطی بولی روی true باعث میشود گیت با همه الگوهای مسیر مانند الگوهای تطبیق رفتار کند (معروف به جادوی "glob")\&.
.RE
.PP
\fBGIT_NOGLOB_PATHSPECS\fR
.RS 4
تنظیم این متغیر محیطی بولی روی true باعث میشود گیت با همه الگوهای مسیر به صورت تحتاللفظی رفتار کند (معروف به جادوی "literal")\&.
.RE
.PP
\fBGIT_ICASE_PATHSPECS\fR
.RS 4
تنظیم این متغیر محیطی بولی روی true باعث میشود گیت با تمام الگوهای مسیر بدون حساسیت به بزرگی و کوچکی حروف رفتار کند\&.
.RE
.PP
\fBGIT_NO_LAZY_FETCH\fR
.RS 4
تنظیم این متغیر محیطی بولی روی true به گیت اعلام میکند که شیءهای مفقود را بر حسب تقاضا از ریموت متعهد واکشی نکند\&.
.RE
.PP
\fBGIT_REFLOG_ACTION\fR
.RS 4
هنگامی که یک ارجاع بهروزرسانی میشود، ورودیهای reflog ایجاد میشوند تا علاوه بر مقادیر قدیم و جدید ارجاع، علت بهروزرسانی آن را نیز پیگیری کنند (که معمولاً نام دستور سطح بالایی است که ارجاع را بهروزرسانی کرده است)\&. یک دستور پورسلین اسکریپتشده میتواند از تابع کمکی set_reflog_action در
\fBgit\-sh\-setup\fR
استفاده کند تا هنگام فراخوانی به عنوان دستور بالاترین سطح توسط کاربر نهایی، نام خود را روی این متغیر تنظیم کند تا در بدنه reflog ثبت شود\&.
.RE
.PP
\fBGIT_REF_PARANOIA\fR
.RS 4
اگر این متغیر محیطی بولی روی false تنظیم شود، هنگام پیمایش فهرستهای ارجاعات، ارجاعات خراب یا با نامگذاری نامناسب را نادیده میگیرد\&. به طور معمول گیت تلاش میکند هر گونه ارجاع اینچنینی را لحاظ کند که ممکن است باعث شکست برخی عملیات شود\&. معمولاً این رفتار ترجیح داده میشود، زیرا عملیات بالقوه مخرب (مانند
\fBgit-prune\fR(1))
بهتر است متوقف شوند تا اینکه ارجاعات خراب را نادیده بگیرند (و در نتیجه تاریخچهای را که به آن اشاره دارند فاقد ارزش نگهداری تلقی کنند)\&. مقدار پیشفرض
\fB1\fR
است (یعنی حساسیت کامل درباره شناسایی و لغو تمامی عملیات)\&. معمولاً نیازی به تنظیم این مقدار روی
\fB0\fR
ندارید، اما ممکن است هنگام تلاش برای نجات دادهها از یک مخزن آسیبدیده کاربرد داشته باشد\&.
.RE
.PP
\fBGIT_COMMIT_GRAPH_PARANOIA\fR
.RS 4
هنگام بارگیری یک شیء کامیت از commit\-graph، گیت بررسی میکند که آیا شیء در پایگاه داده شیءها وجود دارد یا خیر\&. این کار برای جلوگیری از بروز مشکلات ناشی از commit\-graphهای منقضی که حاوی ارجاع به کامیتهای از پیش حذفشده هستند انجام میشود، اما با افت کارایی همراه است\&.
.sp
پیشفرض "false" است که رفتار یادشده را غیرفعال میکند\&. تنظیم این گزینه روی "true" بررسی وجود شیء را فعال میکند تا کامیتهای منقضی هرگز از commit\-graph بازگردانده نشوند، به بهای کاهش کارایی\&.
.RE
.PP
\fBGIT_ALLOW_PROTOCOL\fR
.RS 4
اگر روی فهرستی از پروتکلها تنظیم شود که با دونقطه از هم جدا شدهاند، طوری عمل میکند که گویی
\fBprotocol\&.allow\fR
روی
\fBnever\fR
تنظیم شده و هر یک از پروتکلهای فهرستشده دارای مقدار
\fBalways\fR
برای
\fBprotocol\&.\fR\fI\fR\fB\&.allow\fR
هستند (که هر گونه پیکربندی موجود را بازنویسی میکند)\&. برای جزئیات بیشتر به توضیحات
\fBprotocol\&.allow\fR
در
\fBgit-config\fR(1)
مراجعه فرمایید\&.
.RE
.PP
\fBGIT_PROTOCOL_FROM_USER\fR
.RS 4
این متغیر محیطی بولی را روی false تنظیم کنید تا از پروتکلهای مورد استفاده توسط fetch/push/clone که روی وضعیت
\fBuser\fR
پیکربندی شدهاند جلوگیری شود\&. این برای محدود کردن مقداردهی اولیه بازگشتی زیرپیمانهها از یک مخزن غیرقابل اعتماد یا برای برنامههایی که نشانیهای اینترنتی بالقوه غیرقابل اعتماد را به دستورات گیت تغذیه میکنند مفید است\&. برای جزئیات به
\fBgit-config\fR(1)
مراجعه فرمایید\&.
.RE
.PP
\fBGIT_PROTOCOL\fR
.RS 4
صرفاً برای استفاده داخلی\&. در دستتکانی پروتکل تحت شبکه به کار میرود\&. شامل یک فهرست جداشده با دونقطه
\fI:\fR
از کلیدها با مقادیر اختیاری
\fI[=]\fR
است\&. وجود کلیدها و مقادیر ناشناخته باید نادیده گرفته شود\&.
.sp
توجه داشته باشید که ممکن است لازم باشد سرورها طوری پیکربندی شوند که اجازه عبور این متغیر را از برخی روشهای انتقال بدهند\&. این متغیر هنگام دسترسی به مخازن محلی (یعنی
\fBfile://\fR
یا مسیر سیستم فایل) و همچنین بر روی پروتکل
\fBgit://\fR
به طور خودکار انتشار مییابد\&. برای git\-over\-http در بیشتر پیکربندیها باید به طور خودکار کار کند، اما به بحث موجود در
\fBgit-http-backend\fR(1)
مراجعه فرمایید\&. برای git\-over\-ssh، ممکن است لازم باشد سرور ssh طوری پیکربندی شود که به کلاینتها اجازه ارسال این متغیر را بدهد (مثلاً با استفاده از
\fBAcceptEnv\fR
\fBGIT_PROTOCOL\fR
در OpenSSH)\&.
.sp
این پیکربندی اختیاری است\&. اگر متغیر منتشر نشود، کلاینتها به پروتکل اصلی "v0" تنزل مییابند (اما ممکن است برخی از بهبودهای کارایی یا ویژگیها را از دست بدهند)\&. این متغیر در حال حاضر فقط بر کلونها و واکشیها تأثیر میگذارد؛ هنوز برای ارسالها (push) استفاده نمیشود (اما ممکن است در آینده به کار رود)\&.
.RE
.PP
\fBGIT_OPTIONAL_LOCKS\fR
.RS 4
اگر این متغیر محیطی بولی روی false تنظیم شود، گیت هر عملیات درخواستی را بدون انجام هیچیک از عملیات فرعی اختیاری نیازمند قفل کامل میکند\&. برای مثال، این کار مانع از آن میشود که
\fBgit\fR
\fBstatus\fR
به عنوان یک اثر جانبی ایندکس را تازهسازی کند\&. این مورد برای فرایندهایی که در پسزمینه اجرا میشوند و تمایلی به ایجاد تداخل قفل با سایر عملیات روی مخزن ندارند کاربرد دارد\&. پیشفرض
\fB1\fR
است\&.
.RE
.PP
\fBGIT_REDIRECT_STDIN\fR, \fBGIT_REDIRECT_STDOUT\fR, \fBGIT_REDIRECT_STDERR\fR
.RS 4
فقط ویندوز: امکان هدایت دستگیرههای ورودی/خروجی/خطای استاندارد را به مسیرهای تعیینشده توسط متغیرهای محیطی فراهم میسازد\&. این ویژگی به ویژه در برنامههای چندنخی کاربرد دارد که در آنها روش استاندارد ارسال دستگیرهها از طریق
\fBCreateProcess\fR()
به دلیل نیاز به علامتگذاری دستگیرهها به عنوان قابل توارث مقدور نیست (و در نتیجه
\fBهر\fR
فرایند ایجادشده آنها را به ارث میبرد و احتمالاً عملیات عادی گیت را مسدود میکند)\&. مورد استفاده اولیه مورد نظر، استفاده از لولههای نامگذاریشده برای ارتباط است (مانند
\fB\e\e\&.\epipe\emy\-git\-stdin\-123\fR)\&.
.sp
دو مقدار ویژه پشتیبانی میشوند:
\fBoff\fR
صرفاً دستگیره استاندارد مربوطه را میبندد، و اگر
\fBGIT_REDIRECT_STDERR\fR
برابر با
\fB2\fR>&1
باشد، خطای استاندارد به همان دستگیره خروجی استاندارد هدایت میشود\&.
.RE
.PP
\fBGIT_PRINT_SHA1_ELLIPSIS\fR (منسوخشده)
.RS 4
در صورت تنظیم روی
\fByes\fR،
یک علامت سهنقطه به دنبال مقدار (مختصر) SHA\-1 چاپ میکند\&. این بر اعلانهای HEADهای جداشده (detached) در (
\fBgit-checkout\fR(1))
و خروجی خام diff در (
\fBgit-diff\fR(1))
تأثیر میگذارد\&. چاپ سهنقطه در موارد یادشده دیگر مناسب تلقی نمیشود و پشتیبانی از آن در آینده نزدیک (همراه با خود متغیر) احتمالاً حذف خواهد شد\&.
.RE
.PP
\fBGIT_ADVICE\fR
.RS 4
اگر روی
\fB0\fR
تنظیم شود، همه پیامهای راهنمایی و توصیه را غیرفعال میکند\&. هدف این پیامها ارائه نکاتی به کاربران انسانی است که ممکن است به آنها در خروج از وضعیتهای مشکلساز یا بهرهگیری از ویژگیهای جدید کمک کند\&. کاربران میتوانند پیامهای منفرد را با استفاده از کلیدهای پیکربندی
\fBadvice\&.*\fR
غیرفعال کنند\&. این پیامها ممکن است برای ابزارهایی که فرایندهای گیت را اجرا میکنند مزاحمت ایجاد کنند، بنابراین این متغیر برای غیرفعال کردن پیامها در نظر گرفته شده است\&. (گزینه سراسری
\fB\-\-no\-advice\fR
نیز در دسترس است، اما نسخههای قدیمی گیت ممکن است در صورت عدم درک این گزینه با خطا مواجه شوند\&. این متغیر محیطی توسط نسخههایی از گیت که آن را درک نمیکنند نادیده گرفته خواهد شد\&.)
.RE
.SH "بحث و بررسی (DISCUSSION)"
.sp
جزئیات بیشتر پیرامون موارد زیر در \m[blue]\fBGit concepts chapter of the user\-manual\fR\m[]\&\s-2\u[3]\d\s+2 و \fBgitcore-tutorial\fR(7) در دسترس است\&.
.sp
یک پروژه گیت معمولاً شامل یک دایرکتوری کاری با یک زیردایرکتوری "\&.git" در بالاترین سطح است\&. دایرکتوری git.، در میان موارد دیگر، شامل یک پایگاه داده فشرده شیء است که تاریخچه کامل پروژه را نمایش میدهد، یک فایل "index" که آن تاریخچه را به محتوای فعلی درخت کاری متصل میکند، و اشارهگرهای نامگذاریشده به درون آن تاریخچه مانند تگها و نوک شاخهها\&.
.sp
پایگاه داده شیء شامل شیءهایی از سه نوع اصلی است: blobها که دادههای فایل را نگهداری میکنند؛ درختها که به blobها و سایر درختها اشاره میکنند تا سلسلهمراتب دایرکتوری را بسازند؛ و کامیتها که هر یک به یک درخت واحد و تعدادی کامیت والد ارجاع میدهند\&.
.sp
کامیت، که معادل چیزی است که سایر سامانهها آن را "مجموعه تغییرات" (changeset) یا "نسخه" مینامند، یک گام در تاریخچه پروژه را نشان میدهد و هر والد نمایانگر گام بلافاصله پیشین آن است\&. کامیتهایی با بیش از یک والد نشاندهنده ادغام خطوط توسعه مستقل هستند\&.
.sp
تمامی شیءها با هش SHA\-1 محتوای خود نامگذاری میشوند که معمولاً به صورت رشتهای از ۴۰ رقم هگزادسیمال نوشته میشود\&. چنین نامهایی در سطح جهانی یکتا هستند\&. کل تاریخچهای که به یک کامیت منتهی میشود را میتوان صرفاً با امضای همان کامیت تضمین کرد\&. نوع چهارمی از شیء به نام تگ (tag) برای همین منظور در نظر گرفته شده است\&.
.sp
هنگام ایجاد اولیه، شیءها در فایلهای جداگانه ذخیره میشوند، اما برای کارایی بیشتر ممکن است بعداً در قالب "فایلهای بسته" (pack files) به صورت فشرده با یکدیگر تجمیع شوند\&.
.sp
اشارهگرهای نامگذاریشده با نام ارجاعات (refs)، نقاط مهم در تاریخچه را علامتگذاری میکنند\&. یک ارجاع ممکن است شامل نام SHA\-1 یک شیء یا نام یک ارجاع دیگر باشد (مورد دوم "ارجاع نمادین" نامیده میشود)\&. ارجاعاتی با نامهایی که با \fBrefs/head/\fR آغاز میشوند حاوی نام SHA\-1 تازهترین کامیت (یا "head") یک شاخه در حال توسعه هستند\&. نامهای SHA\-1 تگهای مورد نظر در زیر \fBrefs/tags/\fR ذخیره میشوند\&. یک ارجاع نمادین به نام \fBHEAD\fR حاوی نام شاخهای است که هماکنون بررسی (checkout) شده است\&.
.sp
فایل ایندکس با فهرستی از همه مسیرها و برای هر مسیر، یک شیء blob و مجموعهای از ویژگیها مقداردهی اولیه میشود\&. شیء blob نشاندهنده محتوای فایل در وضعیت نوک شاخه فعلی است\&. ویژگیها (زمان آخرین تغییر، اندازه و غیره) از فایل متناظر در درخت کاری گرفته میشوند\&. تغییرات بعدی در درخت کاری را میتوان با مقایسه این ویژگیها پیدا کرد\&. ایندکس میتواند با محتوای جدید بهروزرسانی شود و کامیتهای جدید میتوانند از محتوای ذخیرهشده در ایندکس ایجاد شوند\&.
.sp
ایندکس همچنین قادر است چندین ورودی (موسوم به "stages") را برای یک مسیر مشخص نگهداری کند\&. این مراحل برای نگهداری نسخههای مختلف ادغامنشده یک فایل در زمانی که ادغام در حال انجام است استفاده میشوند\&.
.SH "امنیت (SECURITY)"
.sp
برخی گزینههای پیکربندی و فایلهای هوک ممکن است باعث شوند گیت دستورات دلخواه پوسته را اجرا کند\&. از آنجا که پیکربندی و هوکها با استفاده از \fBgit\fR \fBclone\fR کپی نمیشوند، کلون کردن مخازن راهدور با محتوای غیرقابل اعتماد، بازرسی آنها با \fBgit\fR \fBlog\fR و مواردی از این دست عموماً ایمن است\&.
.sp
با این حال، اجرای دستورات گیت در یک دایرکتوری \fB\&.git\fR (یا درخت کاری احاطهکننده آن) زمانی که خود آن دایرکتوری \fB\&.git\fR از یک منبع غیرقابل اعتماد باشد ایمن نیست\&. دستورات موجود در تنظیمات و هوکهای آن به روش معمول اجرا میشوند\&.
.sp
به طور پیشفرض، گیت در صورتی که مالک مخزن فردی غیر از کاربر اجراکننده دستور باشد از اجرا خودداری میکند\&. مدخل مربوط به \fBsafe\&.directory\fR را در \fBgit-config\fR(1) ببینید\&. اگرچه این امر میتواند به محافظت از شما در یک محیط چندکاربره کمک کند، توجه داشته باشید که ممکن است مخازن غیرقابل اعتمادی را نیز در اختیار داشته باشید که متعلق به خود شما هستند (مثلاً اگر یک فایل zip یا tarball را از یک منبع نامطمئن استخراج کنید)\&. در چنین مواردی، باید ابتدا مخزن غیرقابل اعتماد را "پاکسازی" (sanitize) کنید\&.
.sp
اگر دایرکتوری \fB\&.git\fR غیرقابل اعتمادی دارید، باید ابتدا آن را با \fBgit\fR \fBclone\fR \fB\-\-no\-local\fR کلون کنید تا نسخهای تمیز به دست آورید\&. گیت مجموعه گزینهها و هوکهایی را که توسط \fBupload\-pack\fR (که سمت سرور یک کلون یا واکشی را مدیریت میکند) اجرا میشوند محدود میکند، اما آگاه باشید که سطح حمله علیه \fBupload\-pack\fR وسیع است، بنابراین این کار خطراتی به همراه دارد\&. امنترین روش این است که مخزن را به عنوان یک کاربر بدون امتیاز سرویسدهی کنید (خواه از طریق \fBgit-daemon\fR(1)، ssh، یا با استفاده از سایر ابزارها برای تغییر شناسههای کاربری)\&. به بحث موجود در بخش \fBSECURITY\fR در \fBgit-upload-pack\fR(1) مراجعه فرمایید\&.
.SH "مستندات بیشتر (FURTHER DOCUMENTATION)"
.sp
برای شروع کار با گیت به مراجع موجود در بخش "توضیحات" مراجعه کنید\&. موارد زیر احتمالاً حاوی جزئیاتی فراتر از نیاز یک کاربر تازهکار است\&.
.sp
فصل \m[blue]\fBGit concepts chapter of the user\-manual\fR\m[]\&\s-2\u[3]\d\s+2 و همچنین \fBgitcore-tutorial\fR(7) هر دو مقدمهای بر معماری بنیادین گیت ارائه میدهند\&.
.sp
برای مروری بر جریانهای کاری توصیهشده، \fBgitworkflows\fR(7) را ببینید\&.
.sp
همچنین اسناد \m[blue]\fBhowto\fR\m[]\&\s-2\u[4]\d\s+2 را برای چند مثال کاربردی ببینید\&.
.sp
سازوکارهای داخلی در \m[blue]\fBGit API documentation\fR\m[]\&\s-2\u[5]\d\s+2 مستندسازی شدهاند\&.
.sp
کاربرانی که از CVS مهاجرت میکنند نیز ممکن است مایل به خواندن \fBgitcvs-migration\fR(7) باشند\&.
.SH "نویسندگان (AUTHORS)"
.sp
گیت توسط لینوس توروالدز (Linus Torvalds) آغاز شد و هماکنون توسط جونیو سی هامانو (Junio C Hamano) نگهداری میشود\&. مشارکتهای بیشماری از لیست پستی گیت <\m[blue]\fBgit@vger\&.kernel\&.org\fR\m[]\&\s-2\u[6]\d\s+2> انجام شده است\&. نشانی \m[blue]\fBhttps://openhub\&.net/p/git/contributors/summary\fR\m[] فهرست کاملتری از مشارکتکنندگان را به شما ارائه میدهد\&.
.sp
اگر یک نسخه کلونشده از خود git\&.git دارید، خروجی دستورات \fBgit-shortlog\fR(1) و \fBgit-blame\fR(1) میتواند نویسندگان بخشهای خاصی از پروژه را نشان دهد\&.
.SH "گزارش اشکالات (REPORTING BUGS)"
.sp
اشکالات را به لیست پستی گیت <\m[blue]\fBgit@vger\&.kernel\&.org\fR\m[]\&\s-2\u[6]\d\s+2> که توسعه و نگهداری عمدتاً در آنجا صورت میگیرد گزارش دهید\&. برای ارسال پیام نیازی به عضویت در این لیست ندارید\&. برای مشاهده گزارشهای اشکال قبلی و سایر بحثها، آرشیو لیست را در \m[blue]\fBhttps://lore\&.kernel\&.org/git\fR\m[] ببینید\&.
.sp
مسائلی که دارای اهمیت امنیتی هستند باید به صورت محرمانه به لیست پستی امنیت گیت <\m[blue]\fBgit\-security@googlegroups\&.com\fR\m[]\&\s-2\u[7]\d\s+2> ارسال شوند\&.
.SH "همچنین ببینید (SEE ALSO)"
.sp
\fBgittutorial\fR(7), \fBgittutorial-2\fR(7), \fBgiteveryday\fR(7), \fBgitcvs-migration\fR(7), \fBgitglossary\fR(7), \fBgitcore-tutorial\fR(7), \fBgitcli\fR(7), \m[blue]\fBThe Git User\(cqs Manual\fR\m[]\&\s-2\u[1]\d\s+2, \fBgitworkflows\fR(7)
.SH "گیت (GIT)"
.sp
بخشی از مجموعه \fBgit\fR(1)
.SH "یادداشتها (NOTES)"
.IP " 1." 4
Git User\(cqs Manual
.RS 4
\%file:///usr/share/doc/git-doc/user-manual.html
.RE
.IP " 2." 4
Trace2 documentation
.RS 4
\%file:///usr/share/doc/git-doc/technical/api-trace2.html
.RE
.IP " 3." 4
Git concepts chapter of the user-manual
.RS 4
\%file:///usr/share/doc/git-doc/user-manual.html#git-concepts
.RE
.IP " 4." 4
howto
.RS 4
\%file:///usr/share/doc/git-doc/howto-index.html
.RE
.IP " 5." 4
Git API documentation
.RS 4
\%file:///usr/share/doc/git-doc/technical/api-index.html
.RE
.IP " 6." 4
git@vger.kernel.org
.RS 4
\%mailto:git@vger.kernel.org
.RE
.IP " 7." 4
git-security@googlegroups.com
.RS 4
\%mailto:git-security@googlegroups.com
.RE