'\" 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)