'\" t
.\" Title: git-ls-tree
.\" 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\-LS\-TREE" "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-ls-tree \- فهرست کردن محتویات یک شیء درختی در گیت
.SH "خلاصه دستور (SYNOPSIS)"
.sp
.nf
\fIgit ls\-tree\fR [\-d] [\-r] [\-t] [\-l] [\-z]
[\-\-name\-only] [\-\-name\-status] [\-\-object\-only] [\-\-full\-name] [\-\-full\-tree] [\-\-abbrev[=]] [\-\-format=]
[\&...]
.fi
.sp
.SH "توضیحات (DESCRIPTION)"
.sp
محتویات یک شیء درختی مشخص را فهرست میکند، مانند کاری که "/bin/ls \-a" در دایرکتوری کاری فعلی انجام میدهد\&. توجه داشته باشید که:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
رفتار آن اندکی با "/bin/ls" متفاوت است از این جهت که
\fI\fR
صرفاً فهرستی از الگوها را برای تطبیق مشخص میکند؛ به عنوان مثال مشخص کردن نام دایرکتوری (بدون
\fB\-r\fR)
رفتار متفاوتی خواهد داشت و ترتیب آرگومانها اهمیتی ندارد\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
رفتار آن شبیه به "/bin/ls" است از این جهت که
\fI\fR
نسبت به دایرکتوری کاری فعلی در نظر گرفته میشود\&. برای مثال هنگامی که در یک دایرکتوری
\fIsub\fR
هستید که شامل دایرکتوری
\fIdir\fR
است، میتوانید دستور
\fIgit ls\-tree \-r HEAD dir\fR
را اجرا کنید تا محتویات درخت را فهرست نمایید (که همان
\fBsub/dir\fR
در
\fBHEAD\fR
است)\&. در این حالت تمایلی ندارید درختی را مشخص کنید که در سطح ریشه نیست (برای مثال
\fBgit\fR
\fBls\-tree\fR
\fB\-r\fR
\fBHEAD:sub\fR
\fBdir\fR)،
زیرا این امر منجر به درخواست برای
\fBsub/sub/dir\fR
در کامیت
\fBHEAD\fR
میشود\&. با این حال، با ارسال گزینه \-\-full\-tree میتوان از دایرکتوری کاری فعلی صرفنظر کرد\&.
.RE
.SH "گزینهها (OPTIONS)"
.PP
.RS 4
شناسه یک شیء شبیه به درخت (tree\-ish)\&.
.RE
.PP
\-d
.RS 4
فقط خود ورودی درختِ نامبرده را نشان میدهد، نه فرزندان آن را\&.
.RE
.PP
\-r
.RS 4
پیمایش بازگشتی در زیردرختها (sub\-trees)\&.
.RE
.PP
\-t
.RS 4
نمایش ورودیهای درخت حتی زمانی که قرار است پیمایش بازگشتی در آنها انجام شود\&. اگر
\fB\-r\fR
ارسال نشده باشد، تأثیری ندارد\&.
\fB\-d\fR
به معنای فعال بودن
\fB\-t\fR
است\&.
.RE
.PP
\-l, \-\-long
.RS 4
نمایش اندازه شیء برای ورودیهای blob (فایل)\&.
.RE
.PP
\-z
.RS 4
پایان خطوط با \e0 در خروجی و عدم نقلقول برای نام فایلها\&. برای اطلاعات بیشتر بخش «قالب خروجی (OUTPUT FORMAT)» را در زیر ببینید\&.
.RE
.PP
\-\-name\-only, \-\-name\-status
.RS 4
فقط نام فایلها را فهرست میکند (به جای خروجی "طولانی")، در هر سطر یکی\&. نمیتواند با
\fB\-\-object\-only\fR
ترکیب شود\&.
.RE
.PP
\-\-object\-only
.RS 4
فقط نام شیءها را فهرست میکند، در هر سطر یکی\&. نمیتواند با
\fB\-\-name\-only\fR
یا
\fB\-\-name\-status\fR
ترکیب شود\&. این معادل با تعیین
\fB\-\-format=\fR\*(Aq%(\fBobjectname\fR)\*(Aq
است، اما هم برای این گزینه و هم برای آن قالب دقیق، دستور به جای عبور از سازوکار قالببندی عمومی از یک مسیر کد بهینهسازیشده دستی استفاده میکند\&.
.RE
.PP
\-\-abbrev[=]
.RS 4
به جای نمایش سطرهای کامل شیء هگزادسیمال ۴۰ بایتی، کوتاهترین پیشوندی را نشان میدهد که حداقل به طول
\fI\fR
رقم هگز باشد و به طور یکتا به شیء اشاره کند\&. تعداد ارقام غیر پیشفرض را میتوان با \-\-abbrev= مشخص کرد\&.
.RE
.PP
\-\-full\-name
.RS 4
به جای نمایش نامهای مسیر به صورت نسبی نسبت به دایرکتوری کاری فعلی، نامهای کامل مسیر را نشان میدهد\&.
.RE
.PP
\-\-full\-tree
.RS 4
فهرستبندی را به دایرکتوری کاری فعلی محدود نمیکند\&. این گزینه متضمن \-\-full\-name است\&.
.RE
.PP
\-\-format=
.RS 4
رشتهای که
\fB%\fR(\fBfieldname\fR)
را از نتیجه نمایشدادهشده درونیابی میکند\&. همچنین
\fB%%\fR
را به
\fB%\fR،
و
\fB%xNN\fR
را (که در آن
\fBNN\fR
ارقام هگزادسیمال هستند) به نویسهای با کد هگز
\fBNN\fR
تبدیل میکند؛ برای مثال
\fB%x00\fR
به
\fB\e0\fR
(NUL)،
\fB%x09\fR
به
\fB\et\fR
(TAB) و
\fB%x0a\fR
به
\fB\en\fR
(LF)
تبدیل میشود\&. در صورت مشخص شدن،
\fB\-\-format\fR
نمیتواند با سایر گزینههای تغییردهنده قالب، از جمله
\fB\-\-long\fR،
\fB\-\-name\-only\fR
و
\fB\-\-object\-only\fR
ترکیب شود\&.
.RE
.PP
[\&...]
.RS 4
هنگامی که مسیرها مشخص شده باشند، آنها را نشان میدهد (توجه داشته باشید که اینها واقعاً نام مسیرهای خام نیستند، بلکه فهرستی از الگوها برای تطبیق هستند)\&. در غیر این صورت به طور ضمنی از سطح ریشه درخت به عنوان تنها آرگومان مسیر استفاده میکند\&.
.RE
.SH "قالب خروجی (OUTPUT FORMAT)"
.sp
قالب خروجی \fBls\-tree\fR توسط گزینه \fB\-\-format\fR، یا سایر گزینههای تغییردهنده قالب مانند \fB\-\-name\-only\fR و غیره تعیین میشود (توضیحات \fB\-\-format\fR را در بالا ببینید)\&.
.sp
استفاده از برخی دستورالعملهای \fB\-\-format\fR معادل با استفاده از آن گزینهها است، اما فراخوانی سازوکار کامل قالببندی میتواند کندتر از بهکارگیری یک گزینه قالببندی مناسب باشد\&.
.sp
در مواردی که \fB\-\-format\fR دقیقاً به یک گزینه موجود نگاشت شود، \fBls\-tree\fR از مسیر سریعتر مناسب استفاده خواهد کرد\&. بنابراین قالب پیشفرض معادل است با:
.sp
.if n \{\
.RS 4
.\}
.nf
%(objectmode) %(objecttype) %(objectname)%x09%(path)
.fi
.if n \{\
.RE
.\}
.sp
این قالب خروجی با آنچه گزینههای \fB\-\-index\-info\fR و \fB\-\-stdin\fR در \fIgit update\-index\fR انتظار دارند سازگار است\&.
.sp
هنگامی که گزینه \fB\-l\fR استفاده شود، قالب تغییر میکند به:
.sp
.if n \{\
.RS 4
.\}
.nf
%(objectmode) %(objecttype) %(objectname) %(objectsize:padded)%x09%(path)
.fi
.if n \{\
.RE
.\}
.sp
اندازه شیء که توسط مشخص شده بر حسب بایت ارائه میشود و با حداقل عرض ۷ نویسه راستچین میگردد\&. اندازه شیء فقط برای ورودیهای blob (فایل) ارائه میشود؛ برای سایر ورودیها نویسه \fB\-\fR به جای اندازه قرار میگیرد\&.
.sp
بدون گزینه \fB\-z\fR، نامهای مسیر با نویسههای "غیرمعمول" همانطور که برای متغیر پیکربندی \fBcore\&.quotePath\fR توضیح داده شده نقلقول میشوند (به \fBgit-config\fR(1) مراجعه کنید)\&. با استفاده از \fB\-z\fR نام فایل دقیقاً همانطور که هست چاپ میشود و سطر با یک بایت NUL پایان مییابد\&.
.sp
قالب سفارشیسازیشده:
.sp
امکان چاپ با یک قالب سفارشی با استفاده از گزینه \fB\-\-format\fR وجود دارد که قادر است فیلدهای مختلف را با نماد \fB%\fR(\fBfieldname\fR) درونیابی کند\&. برای مثال، اگر فقط به فیلدهای "objectname" و "path" نیاز دارید، میتوانید با یک "\-\-format" مشخص به این صورت اجرا کنید:
.sp
.if n \{\
.RS 4
.\}
.nf
git ls\-tree \-\-format=\*(Aq%(objectname) %(path)\*(Aq
.fi
.if n \{\
.RE
.\}
.SH "نامهای فیلد (FIELD NAMES)"
.sp
مقادیر مختلف حاصل از فیلدهای ساختیافته را میتوان برای درونیابی در خروجی حاصل استفاده کرد\&. برای هر سطر خروجی، نامهای زیر میتوانند استفاده شوند:
.PP
objectmode
.RS 4
حالت دسترسی (mode) شیء\&.
.RE
.PP
objecttype
.RS 4
نوع شیء (\fBcommit\fR،
\fBblob\fR
یا
\fBtree\fR)\&.
.RE
.PP
objectname
.RS 4
نام شیء\&.
.RE
.PP
objectsize[:padded]
.RS 4
اندازه یک شیء
\fBblob\fR
(اگر یک
\fBcommit\fR
یا
\fBtree\fR
باشد، علامت "\-")\&. همچنین از یک قالب فاصلهگذاریشده اندازه با "%(objectsize:padded)" پشتیبانی میکند\&.
.RE
.PP
path
.RS 4
نام مسیر (pathname) شیء\&.
.RE
.SH "همچنین ببینید (SEE ALSO)"
.sp
\fBgit-update-index\fR(1),
\fBgit-config\fR(1)
.SH "گیت (GIT)"
.sp
بخشی از مجموعه \fBgit\fR(1)