'\" t .\" Title: git-cat-file .\" 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: English .\" .TH "GIT\-CAT\-FILE" "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-cat-file \- ارائه محتوا یا جزئیات اشیاء مخزن .SH "خلاصه دستور (SYNOPSIS)" .sp .nf \fIgit cat\-file\fR \fIgit cat\-file\fR (\-e | \-p | \-t | \-s) \fIgit cat\-file\fR (\-\-textconv | \-\-filters) [: | \-\-path= ] \fIgit cat\-file\fR (\-\-batch | \-\-batch\-check | \-\-batch\-command) [\-\-batch\-all\-objects] [\-\-buffer] [\-\-follow\-symlinks] [\-\-unordered] [\-\-textconv | \-\-filters] [\-Z] .fi .sp .SH "توضیحات (DESCRIPTION)" .sp خروجی دادن محتویات یا ویژگی‌های دیگر مانند اندازه، نوع یا اطلاعات دلتا (delta) برای یک یا چند شیء\&. .sp این دستور بسته به اینکه گزینه‌ای از خانواده \fB\-\-batch\fR مشخص شده باشد یا خیر، می‌تواند در دو حالت عمل کند\&. .sp در حالت غیردسته‌ای (non-batch)، دستور اطلاعات مربوط به شیئی را ارائه می‌دهد که نام آن در خط فرمان ذکر شده است\&. .sp در حالت دسته‌ای (batch)، آرگومان‌ها از ورودی استاندارد خوانده می‌شوند\&. .SH "گزینه‌ها (OPTIONS)" .PP .RS 4 نام شیئی که باید نمایش داده شود\&. برای فهرست کامل‌تری از روش‌های نگارش نام اشیاء، بخش «مشخص کردن بازنگری‌ها» (SPECIFYING REVISIONS) را در \fBgitrevisions\fR(7) ببینید\&. .RE .PP \-t .RS 4 به جای محتوا، نوع شیء مشخص‌شده توسط \fI\fR را نشان می‌دهد\&. .RE .PP \-s .RS 4 به جای محتوا، اندازه شیء مشخص‌شده توسط \fI\fR را نشان می‌دهد\&. در صورت استفاده با گزینه \fB\-\-use\-mailmap\fR، اندازه شیء به‌روزرسانی‌شده را پس از جایگزینی هویت‌ها با سازوکار mailmap نشان خواهد داد\&. .RE .PP \-e .RS 4 اگر \fI\fR وجود داشته باشد و یک شیء معتبر باشد، با وضعیت صفر خارج می‌شود\&. اگر \fI\fR دارای قالبی نامعتبر باشد، با وضعیت غیر صفر خارج شده و خطایی را در stderr منتشر می‌کند\&. .RE .PP \-p .RS 4 محتوای \fI\fR را بر اساس نوع آن به صورت خوانا (pretty-print) نمایش می‌دهد\&. .RE .PP .RS 4 به طور معمول این با نوع واقعی \fI\fR مطابقت دارد، اما درخواست نوعی که بتوان آن را به سادگی از \fI\fR داده‌شده ارجاع‌زدایی (dereference) کرد نیز مجاز است\&. برای مثال می‌توان برای \fI\fR که یک شیء کامیت حاوی آن است درخواست "tree" کرد، یا برای \fI\fR که یک شیء تگ اشاره‌کننده به آن است درخواست "blob" نمود\&. .RE .PP \-\-mailmap, \-\-no\-mailmap, \-\-use\-mailmap, \-\-no\-use\-mailmap .RS 4 استفاده از فایل mailmap برای نگاشت نام‌ها و آدرس‌های ایمیل نویسنده، کامیت‌کننده و ایجادکننده تگ به نام‌ها و آدرس‌های ایمیل استاندارد\&. نگاه کنید به \fBgit-shortlog\fR(1)\&. .RE .PP \-\-textconv .RS 4 نمایش محتوا به صورتی که توسط یک فیلتر textconv تبدیل شده است\&. در این حالت، \fI\fR باید به شکل \fI\fR\fB:\fR\fI\fR، یا \fB:\fR\fI\fR باشد تا فیلتر بر محتوای ثبت‌شده در ایندکس در مسیر \fI\fR اعمال شود\&. .RE .PP \-\-filters .RS 4 نمایش محتوا به صورتی که توسط فیلترهای پیکربندی‌شده در درخت کاری فعلی برای مسیر داده‌شده \fI\fR تبدیل شده است (یعنی فیلترهای smudge، تبدیل انتهای خط و غیره)\&. در این حالت، \fI\fR باید به شکل \fI\fR\fB:\fR\fI\fR، یا \fB:\fR\fI\fR باشد\&. .RE .PP \-\-filter=, \-\-no\-filter .RS 4 حذف اشیاء از فهرست اشیاء چاپ‌شده\&. این گزینه تنها در ترکیب با یکی از حالت‌های دسته‌ای قابل استفاده است\&. اشیاء مستثنی‌شده‌ای که به صراحت از طریق هر یک از حالت‌های دسته‌ای که اشیاء را از ورودی استاندارد می‌خوانند (\fB\-\-batch\fR، \fB\-\-batch\-check\fR) درخواست شده‌اند، به عنوان "filtered" گزارش خواهند شد\&. اشیاء مستثنی‌شده در حالت \fB\-\-batch\-all\-objects\fR اصلاً چاپ نخواهند شد\&. \fI\fR می‌تواند یکی از موارد زیر باشد: .sp قالب \fI\-\-filter=blob:none\fR تمامی blobها را حذف می‌کند\&. .sp قالب \fI\-\-filter=blob:limit=[kmg]\fR اشیاء blob با اندازه حداقل n بایت یا واحد را حذف می‌کند\&. n ممکن است صفر باشد\&. پسوندهای k، m و g می‌توانند برای نام‌گذاری واحدها بر حسب KiB، MiB یا GiB استفاده شوند\&. برای مثال، \fIblob:limit=1k\fR همانند \fIblob:limit=1024\fR است\&. .sp قالب \fI\-\-filter=object:type=(tag|commit|tree|blob)\fR تمامی اشیائی را که از نوع درخواستی نیستند حذف می‌کند\&. .RE .PP \-\-path= .RS 4 جهت استفاده با \fB\-\-textconv\fR یا \fB\-\-filters\fR، برای امکان تعیین نام شیء و مسیر به طور جداگانه؛ به عنوان مثال زمانی که تشخیص ویرایشی که blob از آن آمده دشوار است\&. .RE .PP \-\-batch, \-\-batch= .RS 4 چاپ اطلاعات و محتویات هر شیء ارائه‌شده در stdin\&. نباید با هیچ گزینه یا آرگومان دیگری به جز \fB\-\-textconv\fR، \fB\-\-filters\fR، یا \fB\-\-use\-mailmap\fR ترکیب شود\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} هنگام استفاده با \fB\-\-textconv\fR یا \fB\-\-filters\fR، خطوط ورودی باید مسیر را که با فاصله خالی جدا شده است مشخص کنند\&. برای جزئیات بخش \fBخروجی دسته‌ای (BATCH OUTPUT)\fR را در زیر ببینید\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} هنگام استفاده با \fB\-\-use\-mailmap\fR، برای اشیاء کامیت و تگ، بخش محتوای خروجی هویت‌های جایگزین‌شده با سازوکار mailmap را نشان می‌دهد، در حالی که بخش اطلاعات خروجی اندازه شیء را به گونه‌ای نشان می‌دهد که گویی در واقع هویت‌های جایگزین را ثبت کرده است\&. .RE .RE .PP \-\-batch\-check, \-\-batch\-check= .RS 4 چاپ اطلاعات مربوط به هر شیء ارائه‌شده در stdin\&. نباید با هیچ گزینه یا آرگومان دیگری به جز \fB\-\-textconv\fR، \fB\-\-filters\fR یا \fB\-\-use\-mailmap\fR ترکیب شود\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} هنگام استفاده با \fB\-\-textconv\fR یا \fB\-\-filters\fR، خطوط ورودی باید مسیر را که با فاصله جدا شده است مشخص کنند\&. برای جزئیات بخش \fBخروجی دسته‌ای (BATCH OUTPUT)\fR را در زیر ببینید\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} هنگام استفاده با \fB\-\-use\-mailmap\fR، برای اشیاء کامیت و تگ، اطلاعات چاپ‌شده شیء اندازه آن را به گونه‌ای نشان می‌دهد که گویی هویت‌های ثبت‌شده در آن توسط سازوکار mailmap جایگزین شده‌اند\&. .RE .RE .PP \-\-batch\-command, \-\-batch\-command= .RS 4 ورود به حالت دستوری که دستورات و آرگومان‌ها را از stdin می‌خواند\&. تنها می‌تواند با \fB\-\-buffer\fR، \fB\-\-textconv\fR، \fB\-\-use\-mailmap\fR یا \fB\-\-filters\fR ترکیب شود\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} هنگام استفاده با \fB\-\-textconv\fR یا \fB\-\-filters\fR، خطوط ورودی باید مسیر را با فاصله مشخص کنند\&. برای جزئیات بخش \fBخروجی دسته‌ای (BATCH OUTPUT)\fR را در زیر ببینید\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} هنگام استفاده با \fB\-\-use\-mailmap\fR، برای اشیاء کامیت و تگ، دستور \fBcontents\fR هویت‌های جایگزین‌شده با سازوکار mailmap را نشان می‌دهد، در حالی که دستور \fBinfo\fR اندازه شیء را طوری نشان می‌دهد که گویی واقعاً هویت‌های جایگزین‌شده را ثبت کرده است\&. .RE .sp \fB\-\-batch\-command\fR دستورات زیر را شناسایی می‌کند: .PP contents .RS 4 چاپ محتویات شیء برای ارجاع \fI\fR\&. این معادل خروجی \fB\-\-batch\fR است\&. .RE .PP info .RS 4 چاپ اطلاعات شیء برای ارجاع \fI\fR\&. این معادل خروجی \fB\-\-batch\-check\fR است\&. .RE .PP flush .RS 4 همراه با \fB\-\-buffer\fR برای اجرای تمام دستورات قبلی که از ابتدا یا از زمان آخرین دستور flush صادر شده‌اند استفاده می‌شود\&. هنگام استفاده از \fB\-\-buffer\fR، هیچ خروجی تا زمان صدور دستور \fBflush\fR ارائه نخواهد شد\&. هنگامی که از \fB\-\-buffer\fR استفاده نشود، دستورات هر بار بدون نیاز به صدور \fBflush\fR تخلیه (flush) می‌شوند\&. .RE .PP \fBmailmap\fR (\fI\fR) .RS 4 فعال یا غیرفعال کردن mailmap برای دستورات بعدی\&. آرگومان \fI\fR همان مقادیر بولی متناظر در \fBgit-config\fR(1) را می‌پذیرد\&. داده‌های mailmap با اولین استفاده و تنها یک بار خوانده می‌شوند\&. .RE .RE .PP \-\-batch\-all\-objects .RS 4 به جای خواندن فهرستی از اشیاء از stdin، عملیات دسته‌ای درخواستی را بر روی تمام اشیاء موجود در مخزن و هر فضای ذخیره‌سازی شیء جایگزین انجام می‌دهد (نه فقط اشیاء در دسترس)\&. نیازمند مشخص شدن \fB\-\-batch\fR یا \fB\-\-batch\-check\fR است\&. به طور پیش‌فرض، اشیاء به ترتیبی که بر اساس هش آن‌ها مرتب شده است پیمایش می‌شوند؛ همچنین گزینه \fB\-\-unordered\fR را در زیر ببینید\&. اشیاء همان‌طور که هستند و بدون در نظر گرفتن سازوکار "replace" در \fBgit-replace\fR(1) ارائه می‌شوند\&. .RE .PP \-\-buffer .RS 4 به طور معمول خروجی دسته‌ای پس از خروجی هر شیء تخلیه (flush) می‌شود، به طوری که یک فرآیند می‌تواند به صورت تعاملی از \fBcat\-file\fR بخواند و در آن بنویسد\&. با این گزینه، خروجی از بافرینگ معمول stdio استفاده می‌کند؛ این امر هنگام فراخوانی \fB\-\-batch\-check\fR یا \fB\-\-batch\-command\fR روی تعداد زیادی از اشیاء بسیار کارآمدتر است\&. .RE .PP \-\-unordered .RS 4 هنگام استفاده از \fB\-\-batch\-all\-objects\fR، اشیاء را به ترتیبی پیمایش می‌کند که ممکن است برای دسترسی به محتویات شیء کارآمدتر از ترتیب هش باشد\&. جزئیات دقیق این ترتیب مشخص نیست، اما اگر به ترتیب خاصی نیاز ندارید، این به طور کلی باید منجر به خروجی سریع‌تر شود، به ویژه همراه با \fB\-\-batch\fR\&. توجه داشته باشید که \fBcat\-file\fR همچنان هر شیء را تنها یک بار نشان خواهد داد، حتی اگر چندین بار در مخزن ذخیره شده باشد\&. .RE .PP \-\-follow\-symlinks .RS 4 همراه با \fB\-\-batch\fR یا \fB\-\-batch\-check\fR، پیوندهای نمادین درون مخزن را هنگام درخواست اشیاء با عبارت‌های گسترش‌یافته SHA\-1 به شکل tree\-ish:path\-in\-tree دنبال می‌کند\&. به جای ارائه خروجی درباره خود پیوند، خروجی را درباره شیء پیوندداده‌شده ارائه می‌دهد\&. اگر یک پیوند نمادین به بیرون از tree\-ish اشاره کند (مانند پیوندی به \fB/foo\fR یا پیوندی در سطح ریشه به \fB\&.\&.\fR\fB/foo\fR)، بخشی از پیوند که در خارج از درخت قرار دارد چاپ خواهد شد\&. .sp این گزینه (در حال حاضر) هنگامی که شیئی در ایندکس مشخص شده باشد (مثلاً \fB:link\fR به جای \fBHEAD:link\fR) به جای شیئی در درخت، به درستی کار نمی‌کند\&. .sp این گزینه (در حال حاضر) قابل استفاده نیست مگر اینکه \fB\-\-batch\fR یا \fB\-\-batch\-check\fR استفاده شود\&. .sp به عنوان مثال، یک مخزن گیت شامل موارد زیر را در نظر بگیرید: .sp .if n \{\ .RS 4 .\} .nf f: a file containing "hello\en" link: a symlink to f dir/link: a symlink to \&.\&./f plink: a symlink to \&.\&./f alink: a symlink to /etc/passwd .fi .if n \{\ .RE .\} .sp برای یک فایل معمولی \fBf\fR، دستور \fBecho\fR \fBHEAD:f\fR | \fBgit\fR \fBcat\-file\fR \fB\-\-batch\fR عبارت زیر را چاپ می‌کند: .sp .if n \{\ .RS 4 .\} .nf ce013625030ba8dba906f756967f9e9ca394464a blob 6 .fi .if n \{\ .RE .\} .sp و دستور \fBecho\fR \fBHEAD:link\fR | \fBgit\fR \fBcat\-file\fR \fB\-\-batch\fR \fB\-\-follow\-symlinks\fR همان مورد را چاپ خواهد کرد، درست همانند \fBHEAD:dir/link\fR، زیرا هر دو به \fBHEAD:f\fR اشاره می‌کنند\&. .sp بدون \fB\-\-follow\-symlinks\fR، این دستورات داده‌های مربوط به خود پیوند نمادین را چاپ می‌کنند\&. در مورد \fBHEAD:link\fR، شما چنین خروجی را مشاهده خواهید کرد: .sp .if n \{\ .RS 4 .\} .nf 4d1ae35ba2c8ec712fa2a379db44ad639ca277bd blob 1 .fi .if n \{\ .RE .\} .sp هر دوی \fBplink\fR و \fBalink\fR به خارج از درخت اشاره دارند، بنابراین به ترتیب چاپ خواهند کرد: .sp .if n \{\ .RS 4 .\} .nf symlink 4 \&.\&./f .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf symlink 11 /etc/passwd .fi .if n \{\ .RE .\} .RE .PP \-Z .RS 4 تنها همراه با \fB\-\-batch\fR، \fB\-\-batch\-check\fR یا \fB\-\-batch\-command\fR معنا دارد؛ ورودی و خروجی به جای خط جدید با کاراکتر NUL از یکدیگر جدا می‌شوند\&. .RE .PP \-z .RS 4 تنها همراه با \fB\-\-batch\fR، \fB\-\-batch\-check\fR یا \fB\-\-batch\-command\fR معنا دارد؛ ورودی به جای خط جدید با کاراکتر NUL جدا می‌شود\&. این گزینه به نفع \fB\-Z\fR منسوخ شده است، زیرا در غیر این صورت خروجی می‌تواند مبهم باشد\&. .RE .SH "خروجی (OUTPUT)" .sp اگر \fB\-t\fR مشخص شود، یکی از مقادیر \fI\fR چاپ می‌شود\&. .sp اگر \fB\-s\fR مشخص شود، اندازه \fI\fR بر حسب بایت\&. .sp اگر \fB\-e\fR مشخص شود، هیچ خروجی داده نمی‌شود، مگر اینکه \fI\fR ناقص یا معیوب باشد\&. .sp اگر \fB\-p\fR مشخص شود، محتویات \fI\fR به صورت خوانا چاپ می‌شود\&. .sp اگر \fI\fR مشخص شود، محتویات خام (اگرچه فشرده‌نشده) \fI\fR بازگردانده خواهد شد\&. .SH "خروجی دسته‌ای (BATCH OUTPUT)" .sp اگر \fB\-\-batch\fR یا \fB\-\-batch\-check\fR داده شود، \fBcat\-file\fR اشیاء را از stdin، هر خط یک شیء می‌خواند و اطلاعات مربوط به آن‌ها را به همان ترتیبی که خوانده شده‌اند چاپ می‌کند\&. به طور پیش‌فرض، کل خط به عنوان یک شیء در نظر گرفته می‌شود، همان‌طور که گویی به \fBgit-rev-parse\fR(1) ارسال شده است\&. .sp هنگامی که \fB\-\-batch\-command\fR داده می‌شود، \fBcat\-file\fR دستورات را از stdin، هر خط یک دستور می‌خواند و اطلاعات را بر اساس دستور ارائه‌شده چاپ می‌کند\&. با \fB\-\-batch\-command\fR، دستور \fBinfo\fR به همراه یک شیء اطلاعات مربوط به شیء را به همان روشی که \fB\-\-batch\-check\fR چاپ می‌کند نمایش می‌دهد، و دستور \fBcontents\fR به همراه یک شیء محتویات را به همان شیوه‌ای که \fB\-\-batch\fR انجام می‌دهد چاپ می‌کند\&. .sp شما می‌توانید اطلاعات نمایش‌داده‌شده برای هر شیء را با استفاده از یک \fI\fR سفارشی مشخص کنید\&. \fI\fR برای هر شیء به طور دقیق در stdout کپی می‌شود و جایگزین‌های به شکل \fB%\fR(\fBatom\fR) بسط داده شده و یک خط جدید به دنبال آن می‌آید\&. اتم‌های موجود عبارتند از: .PP \fBobjectname\fR .RS 4 نمایش کامل هگزادسیمال نام شیء\&. .RE .PP \fBobjecttype\fR .RS 4 نوع شیء (همان چیزی که \fBcat\-file\fR \fB\-t\fR گزارش می‌دهد)\&. .RE .PP \fBobjectmode\fR .RS 4 اگر شیء مشخص‌شده دارای اطلاعات حالت (مانند مدخل tree یا index) باشد، حالت به صورت یک عدد صحیح هشت‌هشتی (octal) نمایش می‌یابد\&. در غیر این صورت، رشته خالی\&. .RE .PP \fBobjectsize\fR .RS 4 اندازه شیء بر حسب بایت (همان چیزی که \fBcat\-file\fR \fB\-s\fR گزارش می‌دهد)\&. .RE .PP \fBobjectsize:disk\fR .RS 4 اندازه‌ای بر حسب بایت که شیء روی دیسک اشغال می‌کند\&. یادداشت مربوط به اندازه‌های روی دیسک را در بخش \fBهشدارها (CAVEATS)\fR در زیر ببینید\&. .RE .PP \fBdeltabase\fR .RS 4 اگر شیء به عنوان یک دلتا روی دیسک ذخیره شده باشد، به نمایش کامل هگزادسیمال نام شیء پایه دلتا بسط می‌یابد\&. در غیر این صورت، به OID تهی (همه صفرها) بسط می‌یابد\&. بخش \fBهشدارها (CAVEATS)\fR در زیر را ببینید\&. .RE .PP \fBrest\fR .RS 4 اگر این اتم در رشته خروجی استفاده شود، خطوط ورودی در مرز اولین فاصله خالی تقسیم می‌شوند\&. تمامی کاراکترهای قبل از آن فاصله به عنوان نام شیء در نظر گرفته می‌شوند؛ کاراکترهای پس از آن اولین توالی فاصله خالی (یعنی "بقیه" خط) به جای اتم \fB%\fR(\fBrest\fR) خروجی داده می‌شوند\&. .RE .sp اگر هیچ قالبی مشخص نشود، قالب پیش‌فرض \fB%\fR(\fBobjectname\fR) \fB%\fR(\fBobjecttype\fR) \fB%\fR(\fBobjectsize\fR) است\&. .sp اگر \fB\-\-batch\fR مشخص شود، یا اگر \fB\-\-batch\-command\fR همراه با دستور \fBcontents\fR استفاده شود، اطلاعات شیء همراه با محتویات شیء (متشکل از \fB%\fR(\fBobjectsize\fR) بایت) و به دنبال آن یک خط جدید چاپ خواهد شد\&. .sp به عنوان مثال، \fB\-\-batch\fR بدون یک قالب سفارشی عبارت زیر را تولید می‌کند: .sp .if n \{\ .RS 4 .\} .nf SP SP LF LF .fi .if n \{\ .RE .\} .sp .sp در حالی که \fB\-\-batch\-check=\fR\*(Aq%(\fBobjectname\fR) \fB%\fR(\fBobjecttype\fR)\*(Aq عبارت زیر را تولید خواهد کرد: .sp .if n \{\ .RS 4 .\} .nf SP LF .fi .if n \{\ .RE .\} .sp .sp اگر نامی در stdin مشخص شود که نتوان آن را به شیئی در مخزن ارجاع داد، آن‌گاه \fBcat\-file\fR هر قالب سفارشی را نادیده گرفته و چاپ خواهد کرد: .sp .if n \{\ .RS 4 .\} .nf SP missing LF .fi .if n \{\ .RE .\} .sp .sp اگر نامی در stdin مشخص شود که از طریق \fB\-\-filter=\fR فیلتر شده است، آن‌گاه \fBcat\-file\fR هر قالب سفارشی را نادیده گرفته و چاپ خواهد کرد: .sp .if n \{\ .RS 4 .\} .nf SP excluded LF .fi .if n \{\ .RE .\} .sp .sp اگر نامی مشخص شود که ممکن است به بیش از یک شیء اشاره داشته باشد (یک sha کوتاه مبهم)، آن‌گاه \fBcat\-file\fR هر قالب سفارشی را نادیده گرفته و چاپ خواهد کرد: .sp .if n \{\ .RS 4 .\} .nf SP ambiguous LF .fi .if n \{\ .RE .\} .sp .sp اگر نامی مشخص شود که به یک مدخل زیرماژول در یک درخت اشاره دارد و شیء هدف در مخزن وجود ندارد، آن‌گاه \fBcat\-file\fR هر قالب سفارشی را نادیده گرفته و چاپ می‌کند (با شناسه شیء مربوط به زیرماژول): .sp .if n \{\ .RS 4 .\} .nf SP submodule LF .fi .if n \{\ .RE .\} .sp .sp اگر \fB\-\-follow\-symlinks\fR استفاده شود، و پیوندی نمادین در مخزن به خارج از مخزن اشاره داشته باشد، آن‌گاه \fBcat\-file\fR هر قالب سفارشی را نادیده گرفته و چاپ خواهد کرد: .sp .if n \{\ .RS 4 .\} .nf symlink SP LF LF .fi .if n \{\ .RE .\} .sp .sp پیوند نمادین یا مطلق خواهد بود (که با یک \fB/\fR آغاز می‌شود)، یا نسبت به ریشه درخت\&. به عنوان مثال، اگر dir/link به \fB\&.\&.\fR\fB/\fR\fB\&.\&.\fR\fB/foo\fR اشاره کند، آن‌گاه \fI\fR برابر با \fB\&.\&.\fR\fB/foo\fR خواهد بود\&. \fI\fR اندازه پیوند نمادین بر حسب بایت است\&. .sp اگر \fB\-\-follow\-symlinks\fR استفاده شود، پیام‌های خطای زیر نمایش داده خواهند شد: .sp .if n \{\ .RS 4 .\} .nf SP missing LF .fi .if n \{\ .RE .\} .sp .sp زمانی چاپ می‌شود که پیوند نمادین اولیه درخواستی وجود نداشته باشد\&. .sp .if n \{\ .RS 4 .\} .nf dangling SP LF LF .fi .if n \{\ .RE .\} .sp .sp زمانی چاپ می‌شود که پیوند نمادین اولیه وجود دارد، اما چیزی که (به صورت متعدی) به آن اشاره می‌کند وجود ندارد\&. .sp .if n \{\ .RS 4 .\} .nf loop SP LF LF .fi .if n \{\ .RE .\} .sp .sp برای حلقه‌های پیوند نمادین (یا هر پیوند نمادینی که به بیش از ۴۰ بار حل پیوند برای حل نیاز دارد) چاپ می‌شود\&. .sp .if n \{\ .RS 4 .\} .nf notdir SP LF LF .fi .if n \{\ .RE .\} .sp .sp زمانی چاپ می‌شود که در حین حل پیوند نمادین، از یک فایل به عنوان نام دایرکتوری استفاده شود\&. .sp در روش جایگزین، هنگامی که \fB\-Z\fR ارسال می‌شود، کاراکترهای شکست خط (line feeds) در هر یک از مثال‌های بالا با کاراکترهای پایان‌دهنده NUL جایگزین می‌شوند\&. این امر تضمین می‌کند که اگر خود خروجی حاوی خط جدید باشد، خروجی همچنان قابل تجزیه (parse) خواهد بود و بنابراین برای مقاصد اسکریپت‌نویسی توصیه می‌شود\&. .SH "هشدارها (CAVEATS)" .sp توجه داشته باشید که اندازه‌های اشیاء روی دیسک به طور دقیق گزارش می‌شوند، اما باید در نتیجه‌گیری درباره اینکه کدام ارجاعات یا اشیاء مسئول مصرف دیسک هستند دقت کرد\&. اندازه یک شیء فشرده غیردلتا (non-delta) ممکن است بسیار بزرگ‌تر از اندازه اشیائی باشد که نسبت به آن دلتا شده‌اند، اما انتخاب اینکه کدام شیء پایه و کدام دلتا باشد اختیاری است و ممکن است در طول یک فرآیند بسته‌بندی مجدد (repack) تغییر کند\&. .sp همچنین توجه داشته باشید که چندین نسخه از یک شیء ممکن است در پایگاه داده اشیاء وجود داشته باشد؛ در این حالت، مشخص نیست که اندازه یا پایه دلتای کدام نسخه گزارش خواهد شد\&. .SH "گیت (GIT)" .sp بخشی از مجموعه \fBgit\fR(1)