'\" t .\" Title: git-diff-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: English .\" .TH "GIT\-DIFF\-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-diff-tree \- مقایسه محتوا و حالت اشیاء blob یافت‌شده از طریق دو شیء درخت .SH "خلاصه دستور (SYNOPSIS)" .sp .nf \fIgit diff\-tree\fR [\-\-stdin] [\-m] [\-s] [\-v] [\-\-no\-commit\-id] [\-\-pretty] [\-t] [\-r] [\-c | \-\-cc] [\-\-combined\-all\-paths] [\-\-root] [\-\-merge\-base] [] [] [\&...] .fi .sp .SH "توضیحات (DESCRIPTION)" .sp محتوا و حالت (mode) اشیاء blob یافت‌شده از طریق دو شیء درخت را مقایسه می‌کند\&. .sp اگر تنها یک داده شود، کامیت با والدین خود مقایسه می‌شود (گزینه \-\-stdin در ادامه را ببینید)\&. .sp توجه داشته باشید که \fIgit diff\-tree\fR می‌تواند از درختی که درون یک شیء کامیت کپسوله‌سازی شده است استفاده کند\&. .SH "گزینه‌ها (OPTIONS)" .PP \fB\-p\fR, \fB\-u\fR, \fB\-\-patch\fR .RS 4 تولید وصله (ببینید بخش با عنوان \(lqتولید متن وصله با P\- (GENERATING PATCH TEXT WITH \-P)\(rq)\&. .RE .PP \fB\-s\fR, \fB\-\-no\-patch\fR .RS 4 فرونشاندن و جلوگیری از تمام خروجی‌های سازوکار diff\&. برای دستوراتی مانند \fBgit\fR \fBshow\fR که پچ را به صورت پیش‌فرض نمایش می‌دهند جهت خاموش کردن خروجی آنها، یا برای لغو اثر گزینه‌هایی مانند \fB\-\-patch\fR، \fB\-\-stat\fR که پیش‌تر در خط فرمان در یک نام مستعار (alias) آمده‌اند مفید است\&. .RE .PP \fB\-U\fR\fI\fR, \fB\-\-unified=\fR\fI\fR .RS 4 تولید diff با \fI\fR خط زمینه (context)\&. تعداد خطوط زمینه به صورت پیش‌فرض برابر با \fBdiff\&.context\fR یا در صورت تنظیم نشدن متغیر پیکربندی، برابر ۳ است\&. (\fB\-U\fR بدون \fI\fR به دلیل یک رخداد تاریخی به عنوان مترادفی برای \fB\-p\fR بدون نمایش خطا پذیرفته می‌شود)\&. مستلزم \fB\-\-patch\fR است\&. .RE .PP \fB\-\-output=\fR\fI\fR .RS 4 ارسال خروجی به یک فایل مشخص به جای خروجی استاندارد (stdout)\&. .RE .PP \fB\-\-output\-indicator\-new=\fR\fI\fR, \fB\-\-output\-indicator\-old=\fR\fI\fR, \fB\-\-output\-indicator\-context=\fR\fI\fR .RS 4 مشخص کردن نویسه‌ای که برای نشان دادن خطوط جدید، قدیمی یا زمینه در پچ تولیدشده استفاده می‌شود\&. این نویسه‌ها به طور معمول به ترتیب \fB+\fR، \fB\-\fR و \*(Aq \*(Aq هستند\&. .RE .PP \fB\-\-raw\fR .RS 4 تولید diff در قالب خام (raw)\&. .RE .PP \fB\-\-patch\-with\-raw\fR .RS 4 مترادفی برای \fB\-p\fR \fB\-\-raw\fR\&. .RE .PP \fB\-\-indent\-heuristic\fR .RS 4 فعال‌سازی روش اکتشافی (heuristic) که مرزهای تکه‌های diff را جابه‌جا می‌کند تا خواندن پچ‌ها آسان‌تر شود\&. این حالت پیش‌فرض است\&. .RE .PP \fB\-\-no\-indent\-heuristic\fR .RS 4 غیرفعال کردن روش اکتشافی تورفتگی (indent heuristic)\&. .RE .PP \fB\-\-minimal\fR .RS 4 صرف زمان اضافه برای اطمینان از تولید کوچک‌ترین diff ممکن\&. .RE .PP \fB\-\-patience\fR .RS 4 تولید diff با استفاده از الگوریتم «patience diff»\&. .RE .PP \fB\-\-histogram\fR .RS 4 تولید diff با استفاده از الگوریتم «histogram diff»\&. .RE .PP \fB\-\-anchored=\fR\fI\fR .RS 4 تولید diff با استفاده از الگوریتم «anchored diff»\&. .sp این گزینه ممکن است بیش از یک بار مشخص شود\&. .sp اگر خطی در هر دو مبدا و مقصد وجود داشته باشد، فقط یک بار تکرار شده باشد و با \fI\fR شروع شود، این الگوریتم تلاش می‌کند تا از نمایش آن به عنوان حذف یا افزودن در خروجی جلوگیری کند\&. این الگوریتم در درون خود از الگوریتم «patience diff» استفاده می‌کند\&. .RE .PP \fB\-\-diff\-algorithm=\fR(\fBpatience\fR|\fBminimal\fR|\fBhistogram\fR|\fBmyers\fR) .RS 4 انتخاب یک الگوریتم diff\&. انواع آن به شرح زیر است: .PP \fBdefault\fR, \fBmyers\fR .RS 4 الگوریتم پایه‌ای و حریصانه diff\&. در حال حاضر این گزینه پیش‌فرض است\&. .RE .PP \fBminimal\fR .RS 4 صرف زمان اضافه برای اطمینان از تولید کوچک‌ترین diff ممکن\&. .RE .PP \fBpatience\fR .RS 4 استفاده از الگوریتم «patience diff» هنگام تولید پچ‌ها\&. .RE .PP \fBhistogram\fR .RS 4 این الگوریتم، الگوریتم patience را برای «پشتیبانی از عناصر مشترک با تکرار کم» گسترش می‌دهد\&. .RE .sp به عنوان مثال، اگر متغیر \fBdiff\&.algorithm\fR را روی مقداری غیر از پیش‌فرض تنظیم کرده‌اید و می‌خواهید از مقدار پیش‌فرض استفاده کنید، باید از گزینه \fB\-\-diff\-algorithm=default\fR استفاده نمایید\&. .RE .PP \fB\-\-stat\fR[\fB=\fR\fI\fR[\fB,\fR\fI\fR[\fB,\fR\fI\fR]]] .RS 4 تولید یک diffstat\&. به طور پیش‌فرض، به اندازه مورد نیاز فضا برای بخش نام فایل استفاده می‌شود و باقیمانده برای بخش نمودار اختصاص می‌یابد\&. حداکثر عرض به طور پیش‌فرض برابر با عرض ترمینال، یا ۸۰ ستون در صورت عدم اتصال به ترمینال است و می‌تواند با \fI\fR بازنویسی شود\&. عرض بخش نام فایل را می‌توان با دادن عرض دیگری مانند \fI\fR پس از یک کاما یا با تنظیم \fBdiff\&.statNameWidth=\fR\fI\fR محدود کرد\&. عرض بخش نمودار را می‌توان با استفاده از \fB\-\-stat\-graph\-width=\fR\fI\fR یا با تنظیم \fBdiff\&.statGraphWidth=\fR\fI\fR محدود نمود\&. استفاده از \fB\-\-stat\fR یا \fB\-\-stat\-graph\-width\fR روی تمام دستوراتی که یک نمودار آماری (stat graph) تولید می‌کنند اثر می‌گذارد، در حالی که تنظیم \fBdiff\&.statNameWidth\fR یا \fBdiff\&.statGraphWidth\fR روی \fBgit\fR \fBformat\-patch\fR اثری ندارد\&. با دادن پارامتر سوم \fI\fR، می‌توانید خروجی را به اولین \fI\fR خط محدود کنید، که در صورت وجود خطوط بیشتر، با \&.\&.\&. دنبال می‌شود\&. .sp این پارامترها را می‌توان به طور جداگانه با \fB\-\-stat\-width=\fR\fI\fR، \fB\-\-stat\-name\-width=\fR\fI\fR و \fB\-\-stat\-count=\fR\fI\fR نیز تنظیم کرد\&. .RE .PP \fB\-\-compact\-summary\fR .RS 4 ارائه یک خلاصه فشرده از اطلاعات سرآیند گسترش‌یافته مانند ایجاد یا حذف فایل‌ها (‎"new"‎ یا ‎"gone"‎، و در صورت پیوند نمادین بودن به صورت اختیاری \fB+l\fR) و تغییرات حالت دسترسی (\fB+x\fR یا \fB\-x\fR به ترتیب برای افزودن یا حذف بیت اجرایی) در diffstat\&. این اطلاعات بین بخش نام فایل و بخش نمودار قرار می‌گیرند\&. مستلزم \fB\-\-stat\fR است\&. .RE .PP \fB\-\-numstat\fR .RS 4 مشابه \fB\-\-stat\fR، اما تعداد خطوط افزوده و حذف‌شده را در نماد ده‌دهی و نام مسیر را بدون اختصار نمایش می‌دهد تا برای پردازش ماشینی مناسب‌تر باشد\&. برای فایل‌های باینری، به جای نمایش \fB0\fR \fB0\fR، دو \fB\-\fR خروجی می‌دهد\&. .RE .PP \fB\-\-shortstat\fR .RS 4 فقط نمایش آخرین خط از قالب \fB\-\-stat\fR شامل تعداد کل فایل‌های تغییریافته، و همچنین تعداد خطوط افزوده و حذف‌شده\&. .RE .PP \fB\-X\fR [\fI\fR\fB,\fR\&.\&.\&.], \fB\-\-dirstat\fR[\fB=\fR\fI\fR\fB,\fR\&.\&.\&.] .RS 4 نمایش توزیع میزان نسبی تغییرات برای هر زیردایرکتوری\&. رفتار \fB\-\-dirstat\fR را می‌توان با ارسال فهرستی از پارامترهای جداشده با کاما سفارشی‌سازی کرد\&. مقادیر پیش‌فرض توسط متغیر پیکربندی \fBdiff\&.dirstat\fR کنترل می‌شوند (به \fBgit-config\fR(1) مراجعه کنید)\&. پارامترهای زیر در دسترس هستند: .PP \fBchanges\fR .RS 4 محاسبه اعداد dirstat با شمارش خطوطی که از مبدا حذف شده یا به مقصد اضافه شده‌اند\&. این حالت میزان جابه‌جایی‌های صرف کد درون یک فایل را نادیده می‌گیرد\&. به عبارت دیگر، بازآرایی خطوط در یک فایل به اندازه سایر تغییرات به حساب نمی‌آید\&. این رفتار پیش‌فرض در صورت عدم ارائه پارامتر است\&. .RE .PP \fBlines\fR .RS 4 محاسبه اعداد dirstat با انجام تحلیل معمول diff مبتنی بر خط، و جمع زدن تعداد خطوط حذف‌شده/افزوده‌شده\&. (برای فایل‌های باینری، به جای آن تکه‌های ۶۴ بایتی شمرده می‌شوند، زیرا فایل‌های باینری مفهوم طبیعی از خط ندارند)\&. این یک رفتار با هزینه پردازشی بیشتر برای \fB\-\-dirstat\fR نسبت به رفتار \fBchanges\fR است، اما خطوط بازآرایی‌شده درون یک فایل را نیز به اندازه سایر تغییرات به حساب می‌آورد\&. خروجی حاصل با آنچه از سایر گزینه‌های \fB\-\-*stat\fR دریافت می‌کنید سازگار و یکدست است\&. .RE .PP \fBfiles\fR .RS 4 محاسبه اعداد dirstat با شمارش تعداد فایل‌های تغییریافته\&. هر فایل تغییریافته در تحلیل dirstat به طور یکسان شمرده می‌شود\&. این از نظر محاسباتی کم‌هزینه‌ترین رفتار \fB\-\-dirstat\fR است، زیرا اصلاً نیازی به بررسی محتوای فایل‌ها ندارد\&. .RE .PP \fBcumulative\fR .RS 4 شمارش تغییرات در دایرکتوری فرزند برای دایرکتوری والد نیز\&. توجه داشته باشید که هنگام استفاده از \fBcumulative\fR، مجموع درصدهای گزارش‌شده ممکن است از ۱۰۰٪ فراتر رود\&. رفتار پیش‌فرض (غیرتجمعی) را می‌توان با پارامتر \fBnoncumulative\fR مشخص کرد\&. .RE .PP \fI\fR .RS 4 یک پارامتر عدد صحیح که درصد آستانه قطع (به طور پیش‌فرض ۳٪) را مشخص می‌کند\&. دایرکتوری‌هایی که سهم آن‌ها از تغییرات کمتر از این درصد باشد در خروجی نمایش داده نمی‌شوند\&. .RE .sp مثال: دستور زیر فایل‌های تغییریافته را شمارش می‌کند، در حالی که دایرکتوری‌هایی با سهم کمتر از ۱۰٪ از مجموع فایل‌های تغییریافته را نادیده گرفته و شمارش دایرکتوری‌های فرزند را در دایرکتوری‌های والد تجمیع می‌کند: \fB\-\-dirstat=files\fR,10,cumulative\&. .RE .PP \fB\-\-cumulative\fR .RS 4 مترادفی برای \fB\-\-dirstat=cumulative\fR\&. .RE .PP \fB\-\-dirstat\-by\-file\fR[\fB=\fR\fI\fR\fB,\fR\&.\&.\&.] .RS 4 مترادفی برای \fB\-\-dirstat=files\fR,\fI\fR\fB,\fR\&.\&.\&.\&. .RE .PP \fB\-\-summary\fR .RS 4 ارائه خلاصه‌ای فشرده از اطلاعات سرایند گسترش‌یافته مانند ایجاد فایل‌ها، تغییر نام‌ها و تغییرات حالت/مجوز دسترسی (mode)\&. .RE .PP \fB\-\-patch\-with\-stat\fR .RS 4 مترادفی برای \fB\-p\fR \fB\-\-stat\fR\&. .RE .PP \fB\-z\fR .RS 4 هنگامی که گزینه‌های \fB\-\-raw\fR، \fB\-\-numstat\fR، \fB\-\-name\-only\fR یا \fB\-\-name\-status\fR داده شده باشند، نام مسیرها را دستکاری نکرده و از نویسه‌های NUL به عنوان پایان‌دهنده فیلدهای خروجی استفاده می‌کند\&. .sp بدون این گزینه، نام مسیرهای دارای کاراکترهای «غیرمعمول» همان‌طور که برای متغیر پیکربندی \fBcore\&.quotePath\fR توضیح داده شده نقل‌قول (quote) می‌شوند (به \fBgit-config\fR(1) مراجعه کنید)\&. .RE .PP \fB\-\-name\-only\fR .RS 4 تنها نمایش نام هر فایل تغییریافته در درخت پس‌تصویر (post\-image)\&. نام فایل‌ها اغلب با UTF\-8 کدگذاری شده‌اند\&. برای اطلاعات بیشتر به توضیحات مربوط به کدگذاری در صفحه راهنمای \fBgit-log\fR(1) مراجعه کنید\&. .RE .PP \fB\-\-name\-status\fR .RS 4 تنها نمایش نام (یا نام‌ها) و وضعیت هر فایل تغییریافته\&. برای آگاهی از مفهوم حروف وضعیت، به توضیحات گزینه \fB\-\-diff\-filter\fR مراجعه کنید\&. درست مانند \fB\-\-name\-only\fR، نام فایل‌ها اغلب با UTF\-8 کدگذاری شده‌اند\&. .RE .PP \fB\-\-submodule\fR[\fB=\fR\fI\fR] .RS 4 مشخص کردن نحوه نمایش تفاوت‌ها در زیرماژول‌ها (submodules)\&. هنگام مشخص کردن \fB\-\-submodule=short\fR از قالب \fBshort\fR استفاده می‌شود\&. این قالب فقط نام کامیت‌ها را در ابتدا و انتهای بازه نشان می‌دهد\&. هنگامی که \fB\-\-submodule\fR یا \fB\-\-submodule=log\fR مشخص شود، از قالب \fBlog\fR استفاده می‌شود\&. این قالب مانند \fBgit-submodule\fR(1) \fBsummary\fR کامیت‌های موجود در بازه را فهرست می‌کند\&. هنگامی که \fB\-\-submodule=diff\fR مشخص شود، از قالب \fBdiff\fR استفاده می‌شود\&. این قالب یک diff درون‌خطی از تغییرات در محتویات زیرماژول میان بازه کامیت‌ها را نشان می‌دهد\&. در صورت عدم تنظیم گزینه پیکربندی، مقدار پیش‌فرض برابر با \fBdiff\&.submodule\fR یا قالب \fBshort\fR است\&. .RE .PP \fB\-\-color\fR[\fB=\fR\fI\fR] .RS 4 نمایش diff رنگی\&. گزینه \fB\-\-color\fR (یعنی بدون \fB=\fR\fI\fR) معادل \fB\-\-color=always\fR است\&. \fI\fR می‌تواند یکی از مقادیر \fBalways\fR، \fBnever\fR یا \fBauto\fR باشد\&. این مقدار را می‌توان با تنظیمات پیکربندی \fBcolor\&.ui\fR و \fBcolor\&.diff\fR تغییر داد\&. .RE .PP \fB\-\-no\-color\fR .RS 4 غیرفعال کردن نمایش رنگی diff\&. از این گزینه می‌توان برای لغو و بازنویسی تنظیمات پیکربندی استفاده کرد\&. این گزینه معادل \fB\-\-color=never\fR است\&. .RE .PP \fB\-\-color\-moved\fR[\fB=\fR\fI\fR] .RS 4 خطوط جابه‌جاشده کد به رنگ متفاوتی نمایش داده می‌شوند\&. این رفتار را می‌توان با تنظیم پیکربندی \fBdiff\&.colorMoved\fR تغییر داد\&. مقدار \fI\fR در صورت ارائه نشدن گزینه، به طور پیش‌فرض برابر با \fBno\fR و اگر گزینه بدون حالت مشخص شود، به طور پیش‌فرض برابر با \fBzebra\fR است\&. این حالت باید یکی از موارد زیر باشد: .PP \fBno\fR .RS 4 هنگام انجام تشخیص جابه‌جایی، فاصله‌های خالی نادیده گرفته نمی‌شوند\&. .RE .PP \fBdefault\fR .RS 4 مترادفی برای \fBzebra\fR است\&. این مقدار ممکن است در آینده به یک حالت منطقی‌تر تغییر کند\&. .RE .PP \fBplain\fR .RS 4 نمایش کلمات به صورت \fB[\-removed\-]\fR و \fB{\fBadded\fR}\fR\&. هیچ تلاشی برای اسکیپ کردن جداکننده‌ها در صورت ظاهر شدن آن‌ها در ورودی انجام نمی‌شود، بنابراین ممکن است خروجی مبهم باشد\&. .RE .PP \fBblocks\fR .RS 4 بلوک‌هایی از متن جابه‌جاشده که دست‌کم ۲۰ نویسه الفبایی\-عددی دارند به صورت حریصانه شناسایی می‌شوند\&. بلوک‌های شناسایی‌شده با استفاده از رنگ \fBcolor\&.diff\&.\fR(\fBold\fR|\fBnew\fR)\fBMoved\fR رنگ‌آمیزی می‌شوند\&. بلوک‌های مجاور از یکدیگر قابل تشخیص نیستند\&. .RE .PP \fBzebra\fR .RS 4 بلوک‌های متن جابه‌جاشده همانند حالت \fBblocks\fR شناسایی می‌شوند\&. بلوک‌ها با استفاده از رنگ \fBcolor\&.diff\&.\fR(\fBold\fR|\fBnew\fR)\fBMoved\fR یا \fBcolor\&.diff\&.\fR(\fBold\fR|\fBnew\fR)\fBMovedAlternative\fR رنگ‌آمیزی می‌شوند\&. تغییر میان این دو رنگ نشان می‌دهد که یک بلوک جدید شناسایی شده است\&. .RE .PP \fBdimmed\-zebra\fR .RS 4 مشابه حالت \fBzebra\fR، اما بخش‌های کم‌اهمیت‌تر کد جابه‌جاشده علاوه بر آن کم‌رنگ (dim) می‌شوند\&. خطوط مرزی میان دو بلوک مجاور مهم تلقی شده و بقیه بخش‌ها کم‌اهمیت در نظر گرفته می‌شوند\&. \fBdimmed_zebra\fR یک مترادف منسوخ‌شده برای آن است\&. .RE .RE .PP \fB\-\-no\-color\-moved\fR .RS 4 غیرفعال کردن تشخیص جابه‌جایی\&. از این گزینه می‌توان برای لغو و بازنویسی تنظیمات پیکربندی استفاده کرد\&. این گزینه معادل \fB\-\-color\-moved=no\fR است\&. .RE .PP \fB\-\-color\-moved\-ws=\fR\fI\fR\fB,\fR\&.\&.\&. .RS 4 این گزینه نحوه نادیده گرفتن فاصله‌های خالی را هنگام انجام تشخیص جابه‌جایی برای \fB\-\-color\-moved\fR پیکربندی می‌کند\&. این تنظیم می‌تواند توسط متغیر پیکربندی \fBdiff\&.colorMovedWS\fR تنظیم شود\&. این حالت‌ها را می‌توان به صورت فهرستی جداشده با کاما مشخص کرد: .PP \fBno\fR .RS 4 هنگام انجام تشخیص جابه‌جایی، فاصله‌های خالی نادیده گرفته نمی‌شوند\&. .RE .PP \fBignore\-space\-at\-eol\fR .RS 4 نادیده گرفتن تغییرات فاصله‌های خالی در انتهای خط (EOL)\&. .RE .PP \fBignore\-space\-change\fR .RS 4 نادیده گرفتن تغییرات در مقدار فاصله‌های خالی\&. این حالت فاصله‌های خالی انتهای خط را نادیده می‌گیرد و تمامی توالی‌های دیگر از یک یا چند نویسه فاصله خالی را معادل یکدیگر در نظر می‌گیرد\&. .RE .PP \fBignore\-all\-space\fR .RS 4 نادیده گرفتن فاصله‌های خالی هنگام مقایسه خطوط\&. این حالت تفاوت‌ها را حتی اگر یک خط دارای فاصله خالی باشد و خط دیگر فاقد آن باشد نادیده می‌گیرد\&. .RE .PP \fBallow\-indentation\-change\fR .RS 4 در ابتدا هرگونه فاصله خالی در تشخیص جابه‌جایی نادیده گرفته می‌شود، سپس بلوک‌های کد جابه‌جاشده تنها در صورتی در یک بلوک گروه‌بندی می‌شوند که تغییر در فاصله خالی به ازای هر خط یکسان باشد\&. این حالت با سایر حالت‌ها ناسازگار است\&. .RE .RE .PP \fB\-\-no\-color\-moved\-ws\fR .RS 4 هنگام انجام تشخیص جابه‌جایی، فاصله‌های خالی را نادیده نگیر\&. از این گزینه می‌توان برای لغو و بازنویسی تنظیمات پیکربندی استفاده کرد\&. این گزینه معادل \fB\-\-color\-moved\-ws=no\fR است\&. .RE .PP \fB\-\-word\-diff\fR[\fB=\fR\fI\fR] .RS 4 به طور پیش‌فرض، کلمات با فاصله‌های خالی از هم جدا می‌شوند؛ به \fB\-\-word\-diff\-regex\fR در زیر مراجعه کنید\&. مقدار \fI\fR به طور پیش‌فرض برابر با \fBplain\fR است و باید یکی از موارد زیر باشد: .PP \fBcolor\fR .RS 4 برجسته کردن کلمات تغییریافته تنها با استفاده از رنگ‌ها\&. این گزینه مستلزم \fB\-\-color\fR است\&. .RE .PP \fBplain\fR .RS 4 نمایش کلمات به صورت \fB[\-removed\-]\fR و \fB{\fBadded\fR}\fR\&. هیچ تلاشی برای اسکیپ کردن جداکننده‌ها در صورت ظاهر شدن آن‌ها در ورودی انجام نمی‌شود، بنابراین ممکن است خروجی مبهم باشد\&. .RE .PP \fBporcelain\fR .RS 4 استفاده از یک قالب مبتنی بر خط ویژه که برای مصرف و پردازش در اسکریپت‌ها در نظر گرفته شده است\&. توالی‌های افزوده‌شده/حذف‌شده/بدون‌تغییر در قالب معمول diff یکپارچه (unified diff) چاپ می‌شوند، که با یک نویسه \fB+\fR/\fB\-\fR/` ` در ابتدای خط شروع شده و تا انتهای خط ادامه می‌یابند\&. خطوط جدید (newlines) در ورودی با یک علامت تیلدا \fB~\fR در یک خط جداگانه نشان داده می‌شوند\&. .RE .PP \fBnone\fR .RS 4 غیرفعال کردن مجدد تفاوت کلمه‌ای (word diff)\&. .RE .sp توجه داشته باشید که با وجود نام حالت اول، در صورت فعال بودن، در تمامی حالت‌ها برای برجسته‌سازی بخش‌های تغییریافته از رنگ استفاده می‌شود\&. .sp گزینه \fB\-\-word\-diff\fR با گرفتن همان diff خط‌به‌خطی که بدون این گزینه تولید می‌شود و سپس محاسبه تغییرات کلمه‌به‌کلمه درون هر قطعه تغییر (hunk) عمل می‌کند\&. این ممکن است خروجی diff بزرگ‌تری نسبت به خروجی یک ابزار اختصاصی word\-diff تولید کند\&. اگر گیت در آینده پیاده‌سازی متفاوتی را به کار گیرد، خروجی ممکن است تغییر کند\&. توجه داشته باشید که این مشابه گزینه \fB\-\-diff\-algorithm\fR است که آن هم ممکن است خروجی را تغییر دهد\&. .RE .PP \fB\-\-word\-diff\-regex=\fR\fI\fR .RS 4 استفاده از \fI\fR برای تعیین اینکه چه چیزی کلمه محسوب می‌شود، به جای در نظر گرفتن توالی نویسه‌های غیرفاصله به عنوان کلمه\&. همچنین مستلزم \fB\-\-word\-diff\fR است مگر آنکه از قبل فعال شده باشد\&. .sp هر تطابق غیرهم‌پوشان با \fI\fR یک کلمه در نظر گرفته می‌شود\&. هر چیزی میان این تطابق‌ها فاصله خالی تلقی شده و به منظور یافتن تفاوت‌ها نادیده گرفته می‌شود(!)\&. ممکن است بخواهید |[\fB^\fR[\fB:space:\fR]] را به عبارت باقاعده خود الحاق کنید تا مطمئن شوید که با تمام نویسه‌های غیرفاصله تطابق دارد\&. تطابقی که شامل خط جدید (newline) باشد به طور خاموش(!) در محل خط جدید بریده می‌شود\&. .sp برای مثال، \fB\-\-word\-diff\-regex=\&.\fR با هر نویسه مانند یک کلمه رفتار کرده و بر این اساس، تفاوت‌ها را نویسه‌به‌نویسه نمایش می‌دهد\&. .sp عبارت باقاعده (regex) را می‌توان از طریق درایور diff یا گزینه پیکربندی نیز تنظیم کرد؛ به \fBgitattributes\fR(5) یا \fBgit-config\fR(1) مراجعه کنید\&. مشخص کردن صریح آن بر هر درایور diff یا تنظیم پیکربندی اولویت داشته و آن را لغو می‌کند\&. درایورهای diff بر تنظیمات پیکربندی اولویت دارند\&. .RE .PP \fB\-\-color\-words\fR[\fB=\fR\fI\fR] .RS 4 معادل \fB\-\-word\-diff=color\fR به همراه (در صورت مشخص شدن یک عبارت منظم) \fB\-\-word\-diff\-regex=\fR\fI\fR\&. .RE .PP \fB\-\-no\-renames\fR .RS 4 غیرفعال کردن تشخیص تغییر نام، حتی اگر در فایل پیکربندی به صورت پیش‌فرض فعال باشد\&. .RE .PP \fB\-\-rename\-empty\fR, \fB\-\-no\-rename\-empty\fR .RS 4 تعیین این‌که آیا از blobهای خالی به عنوان منبع تغییر نام استفاده شود یا خیر\&. .RE .PP \fB\-\-check\fR .RS 4 هشدار در صورتی که تغییرات باعث ایجاد نشانگرهای تداخل یا خطاهای فاصله خالی شوند\&. مواردی که خطای فاصله خالی محسوب می‌شوند توسط پیکربندی \fBcore\&.whitespace\fR کنترل می‌گردد\&. به طور پیش‌فرض، فاصله‌های خالی انتهایی (شامل خطوطی که صرفاً از فاصله خالی تشکیل شده‌اند) و یک نویسه فاصله که بلافاصله پس از آن یک نویسه تب در تورفتگی ابتدای خط آمده باشد، خطای فاصله خالی در نظر گرفته می‌شوند\&. در صورت یافتن مشکل با وضعیت غیرصفر خارج می‌شود\&. با \fB\-\-exit\-code\fR سازگار نیست\&. .RE .PP \fB\-\-ws\-error\-highlight=\fR\fI\fR .RS 4 برجسته‌سازی خطاهای فاصله خالی در خطوط \fBcontext\fR\fR،\fR \fBold\fR یا \fBnew\fR در diff\&. مقادیر چندگانه با کاما از هم جدا می‌شوند، \fBnone\fR مقادیر قبلی را بازنشانی می‌کند، \fBdefault\fR فهرست را به \fBnew\fR بازمی‌گرداند و \fBall\fR یک میانبر برای \fBold\fR,new,context است\&. هنگامی که این گزینه مشخص نشده باشد و متغیر پیکربندی \fBdiff\&.wsErrorHighlight\fR نیز تنظیم نشده باشد، فقط خطاهای فاصله خالی در خطوط \fBnew\fR برجسته می‌شوند\&. خطاهای فاصله خالی با رنگ \fBcolor\&.diff\&.whitespace\fR رنگ‌آمیزی می‌شوند\&. .RE .PP \fB\-\-full\-index\fR .RS 4 هنگام تولید خروجی با فرمت وصله (patch)، به جای نمایش چند نویسه اول، نام کامل اشیای blob مربوط به pre\-image و post\-image را در خط "index" نمایش می‌دهد\&. .RE .PP \fB\-\-binary\fR .RS 4 علاوه بر \fB\-\-full\-index\fR، یک diff باینری تولید می‌کند که می‌تواند با \fBgit\-apply\fR اعمال شود\&. متضمن \fB\-\-patch\fR است\&. .RE .PP \fB\-\-abbrev\fR[\fB=\fR\fI\fR] .RS 4 به جای نمایش نام کامل هگزادسیمال ۴۰ بایتی شیء در خروجی فرمت diff\-raw و خطوط هدر diff\-tree، کوتاه‌ترین پیشوندی را که حداقل به طول \fI\fR رقم هگزادسیمال باشد و به طور یکتا به شیء ارجاع دهد نمایش می‌دهد\&. در فرمت خروجی diff\-patch، گزینه \fB\-\-full\-index\fR اولویت بالاتری دارد؛ یعنی اگر \fB\-\-full\-index\fR مشخص شده باشد، نام کامل blob بدون در نظر گرفتن \fB\-\-abbrev\fR نمایش داده خواهد شد\&. تعداد ارقام غیرپیش‌فرض را می‌توان با \fB\-\-abbrev=\fR\fI\fR مشخص کرد\&. .RE .PP \fB\-B\fR[\fI\fR][\fB/\fR\fI\fR], \fB\-\-break\-rewrites\fR[\fB=\fR[\fI\fR][\fB/\fR\fI\fR]] .RS 4 شکستن تغییرات بازنویسی کامل به جفت‌های حذف و ایجاد\&. این کار دو هدف را دنبال می‌کند: .sp بر نحوه نمایش تغییری که معادل بازنویسی کامل یک فایل است تأثیر می‌گذارد؛ به طوری که آن را نه به عنوان مجموعه‌ای از حذف و درج‌های درهم‌آمیخته همراه با چند خط معدود که از نظر متنی به عنوان زمینه (context) مطابقت دارند، بلکه به عنوان یک حذف کامل از تمام محتوای قدیمی به دنبال یک درج کامل از تمام محتوای جدید نشان می‌دهد، و عدد \fI\fR این جنبه از گزینه \fB\-B\fR را کنترل می‌کند (به طور پیش‌فرض ۶۰٪)\&. \fB\-B/70%\fR مشخص می‌کند که کمتر از ۳۰٪ از فایل اصلی باید در نتیجه باقی بماند تا گیت آن را یک بازنویسی کامل در نظر بگیرد (یعنی در غیر این صورت وصله حاصل مجموعه‌ای از حذف و درج‌های درهم‌آمیخته همراه با خطوط زمینه خواهد بود)\&. .sp هنگامی که همراه با \fB\-M\fR استفاده شود، یک فایل بازنویسی‌شده کامل نیز به عنوان منبع یک تغییر نام در نظر گرفته می‌شود (معمولاً \fB\-M\fR تنها فایلی را که ناپدید شده به عنوان منبع تغییر نام در نظر می‌گیرد)، و عدد \fI\fR این جنبه از گزینه \fB\-B\fR را کنترل می‌کند (به طور پیش‌فرض ۵۰٪)\&. \fB\-B20%\fR مشخص می‌کند که تغییری با افزودن و حذف در مقایسه با ۲۰٪ یا بیشتر از اندازه فایل، واجد شرایط انتخاب به عنوان یک منبع احتمالی برای تغییر نام به فایلی دیگر است\&. .RE .PP \fB\-M\fR[\fI\fR], \fB\-\-find\-renames\fR[\fB=\fR\fI\fR] .RS 4 تشخیص تغییر نام‌ها\&. اگر \fI\fR مشخص شود، آستانه‌ای برای شاخص شباهت است (یعنی مقدار افزودن/حذف در مقایسه با اندازه فایل)\&. برای مثال، \fB\-M90%\fR بدین معنی است که گیت در صورتی باید یک جفت حذف/افزودن را تغییر نام در نظر بگیرد که بیش از ۹۰٪ فایل تغییر نکرده باشد\&. بدون علامت \fB%\fR، این عدد به عنوان یک کسر با یک ممیز اعشاری پیش از آن خوانده می‌شود؛ یعنی \fB\-M5\fR تبدیل به ۰٫۵ می‌شود و بنابراین همانند \fB\-M50%\fR است\&. به طور مشابه، \fB\-M05\fR همان \fB\-M5%\fR است\&. برای محدود کردن تشخیص به تغییر نام‌های دقیق، از \fB\-M100%\fR استفاده کنید\&. شاخص شباهت پیش‌فرض ۵۰٪ است\&. .RE .PP \fB\-C\fR[\fI\fR], \fB\-\-find\-copies\fR[\fB=\fR\fI\fR] .RS 4 تشخیص کپی‌ها و همچنین تغییر نام‌ها\&. همچنین ببینید \fB\-\-find\-copies\-harder\fR\&. اگر \fI\fR مشخص شود، همان معنایی را دارد که برای \fB\-M\fR\fI\fR دارد\&. .RE .PP \fB\-\-find\-copies\-harder\fR .RS 4 به دلایل کارایی و عملکرد، به طور پیش‌فرض گزینه \fB\-C\fR کپی‌ها را تنها در صورتی می‌یابد که فایل اصلیِ کپی در همان changeset تغییر یافته باشد\&. این فلگ باعث می‌شود دستور فایل‌های تغییرنیافته را نیز به عنوان نامزدهای منبع کپی بررسی کند\&. این یک عملیات بسیار پرهزینه برای پروژه‌های بزرگ است، بنابراین با احتیاط از آن استفاده کنید\&. دادن بیش از یک گزینه \fB\-C\fR همان اثر را دارد\&. .RE .PP \fB\-D\fR, \fB\-\-irreversible\-delete\fR .RS 4 حذف preimage برای موارد حذف‌شده، یعنی فقط هدر چاپ می‌شود و diff بین preimage و \fB/dev/null\fR چاپ نمی‌گردد\&. وصله حاصل قرار نیست با \fBpatch\fR یا \fBgit\fR \fBapply\fR اعمال شود؛ این صرفاً برای افرادی است که می‌خواهند فقط بر بازبینی متن پس از تغییر تمرکز کنند\&. علاوه بر این، خروجی به وضوح فاقد اطلاعات کافی برای اعمال معکوس چنین وصله‌ای (حتی به صورت دستی) است، از این رو این نام برای گزینه انتخاب شده است\&. .sp هنگامی که همراه با \fB\-B\fR استفاده شود، preimage در بخش حذف از یک جفت حذف/ایجاد را نیز نادیده می‌گیرد\&. .RE .PP \fB\-l\fR\fI\fR .RS 4 گزینه‌های \fB\-M\fR و \fB\-C\fR شامل برخی مراحل مقدماتی هستند که می‌توانند زیرمجموعه‌هایی از تغییر نام‌ها/کپی‌ها را با هزینه کم تشخیص دهند، و به دنبال آن یک بخش جامع جایگزین وجود دارد که تمام مقصدهای جفت‌نشده باقی‌مانده را با تمام منابع مرتبط مقایسه می‌کند\&. (برای تغییر نام‌ها، تنها منابع جفت‌نشده باقی‌مانده مرتبط هستند؛ برای کپی‌ها، تمام منابع اصلی مرتبط هستند)\&. برای N منبع و مقصد، این بررسی جامع از مرتبه O(N^2) است\&. این گزینه در صورتی که تعداد فایل‌های منبع/مقصد درگیر از تعداد مشخص‌شده فراتر رود، از اجرای بخش جامع تشخیص تغییر نام/کپی جلوگیری می‌کند\&. مقدار پیش‌فرض آن \fBdiff\&.renameLimit\fR است\&. توجه داشته باشید که مقدار 0 به عنوان نامحدود در نظر گرفته می‌شود\&. .RE .PP \fB\-\-diff\-filter=\fR[(\fBA\fR|\fBC\fR|\fBD\fR|\fBM\fR|\fBR\fR|\fBT\fR|\fBU\fR|\fBX\fR|\fBB\fR)\fB\&.\&.\&.\fR[\fB*\fR]] .RS 4 تنها فایل‌هایی را انتخاب می‌کند که افزوده‌شده (\fBA\fR)، کپی‌شده (\fBC\fR)، حذف‌شده (\fBD\fR)، تغییریافته (\fBM\fR)، تغییرنام‌یافته (\fBR\fR)، نوع آن‌ها (یعنی فایل معمولی، پیوند نمادین، زیرماژول و \&...) تغییر کرده (\fBT\fR)، ادغام‌نشده (\fBU\fR)، ناشناخته (\fBX\fR)، یا جفت‌شدگی آن‌ها شکسته شده باشد (\fBB\fR)\&. از هر ترکیبی از نویسه‌های فیلتر (شامل هیچ‌کدام) می‌توان استفاده کرد\&. هنگامی که \fB*\fR (همه یا هیچ) به ترکیب افزوده شود، در صورتی که فایلی وجود داشته باشد که با سایر معیارهای مقایسه مطابقت دارد، تمام مسیرها انتخاب می‌شوند؛ اگر فایلی وجود نداشته باشد که با سایر معیارها مطابقت کند، هیچ چیزی انتخاب نمی‌شود\&. .sp همچنین، این حروف بزرگ را می‌توان با حروف کوچک نوشت تا مستثنی شوند؛ به عنوان مثال \fB\-\-diff\-filter=ad\fR مسیرهای افزوده‌شده و حذف‌شده را مستثنی می‌کند\&. .sp توجه داشته باشید که همه diffها نمی‌توانند شامل همه انواع باشند\&. برای مثال، اگر تشخیص برای آن انواع غیرفعال باشد، موارد کپی‌شده و تغییرنام‌یافته نمی‌توانند ظاهر شوند\&. .RE .PP \fB\-S\fR\fI\fR .RS 4 به دنبال تفاوت‌هایی می‌گردد که تعداد رخدادهای \fI\fR مشخص‌شده را در یک فایل تغییر می‌دهند (یعنی افزودن/حذف)\&. برای استفاده اسکریپت‌نویسان در نظر گرفته شده است\&. .sp هنگامی که به دنبال یک بلوک دقیق از کد (مانند یک struct) هستید و می‌خواهید تاریخچه آن بلوک را از زمان پیدایش اولیه آن بدانید بسیار مفید است: از این قابلیت به صورت تکرارشونده استفاده کنید تا بلوک مورد نظر در preimage را مجدداً به \fB\-S\fR بدهید، و این کار را ادامه دهید تا به اولین نسخه آن بلوک برسید\&. .sp فایل‌های باینری نیز جستجو می‌شوند\&. .RE .PP \fB\-G\fR\fI\fR .RS 4 به دنبال تفاوت‌هایی می‌گردد که متن وصله آن‌ها شامل خطوط افزوده‌شده/حذف‌شده‌ای باشد که با \fI\fR مطابقت دارند\&. .sp برای نشان دادن تفاوت بین \fB\-S\fR\fI\fR \fB\-\-pickaxe\-regex\fR و \fB\-G\fR\fI\fR، کامیتی با diff زیر در همان فایل را در نظر بگیرید: .sp .if n \{\ .RS 4 .\} .nf + return frotz(nitfol, two\->ptr, 1, 0); \&.\&.\&. \- hit = frotz(nitfol, mf2\&.ptr, 1, 0); .fi .if n \{\ .RE .\} .sp در حالی که \fBgit\fR \fBlog\fR \fB\-G\fR"frotz\e(\fBnitfol\fR" این کامیت را نمایش می‌دهد، \fBgit\fR \fBlog\fR \fB\-S\fR"frotz\e(\fBnitfol\fR" \fB\-\-pickaxe\-regex\fR آن را نمایش نخواهد داد (زیرا تعداد رخدادهای آن رشته تغییر نکرده است)\&. .sp مگر اینکه \fB\-\-text\fR ارائه شده باشد، وصله‌های مربوط به فایل‌های باینری بدون فیلتر textconv نادیده گرفته خواهند شد\&. .sp برای اطلاعات بیشتر، مدخل \fIpickaxe\fR را در \fBgitdiffcore\fR(7) ببینید\&. .RE .PP \fB\-\-find\-object=\fR\fI\fR .RS 4 به دنبال تفاوت‌هایی می‌گردد که تعداد رخدادهای شیء مشخص‌شده را تغییر می‌دهند\&. شبیه به \fB\-S\fR است، تنها تفاوت در آرگومان است که به جای یک رشته خاص به دنبال شناسه یک شیء خاص می‌گردد\&. .sp شیء می‌تواند یک blob یا کامیتِ زیرماژول باشد\&. این گزینه متضمن گزینه \fB\-t\fR در \fBgit\-log\fR برای یافتن درخت‌ها (trees) نیز هست\&. .RE .PP \fB\-\-pickaxe\-all\fR .RS 4 هنگامی که \fB\-S\fR یا \fB\-G\fR تغییری را می‌یابد، تمام تغییرات موجود در آن changeset را نشان می‌دهد، نه فقط فایل‌هایی که حاوی تغییر در \fI\fR هستند\&. .RE .PP \fB\-\-pickaxe\-regex\fR .RS 4 با \fI\fR داده‌شده به \fB\-S\fR به عنوان یک عبارت منظم توسعه‌یافته POSIX برای تطبیق رفتار می‌کند\&. .RE .PP \fB\-O\fR\fI\fR .RS 4 ترتیب نمایش فایل‌ها در خروجی را کنترل می‌کند\&. این گزینه متغیر پیکربندی \fBdiff\&.orderFile\fR را بازنویسی (override) می‌کند (به \fBgit-config\fR(1) مراجعه کنید)\&. برای لغو \fBdiff\&.orderFile\fR، از \fB\-O/dev/null\fR استفاده کنید\&. .sp ترتیب خروجی توسط ترتیب الگوهای glob در \fI\fR تعیین می‌شود\&. تمام فایل‌هایی که نام مسیر آن‌ها با الگوی اول مطابقت دارد ابتدا در خروجی قرار می‌گیرند، تمام فایل‌هایی که نام مسیر آن‌ها با الگوی دوم (اما نه الگوی اول) مطابقت دارد در مرحله بعد خروجی داده می‌شوند، و به همین ترتیب\&. تمام فایل‌هایی که نام مسیر آن‌ها با هیچ الگویی مطابقت ندارد در انتها قرار می‌گیرند، گویی یک الگوی ضمنی تطبیق با همه چیز در انتهای فایل وجود دارد\&. اگر چندین نام مسیر دارای رتبه یکسان باشند (با همان الگو مطابقت داشته باشند اما با هیچ الگوی قبلی مطابقت نداشته باشند)، ترتیب خروجی آن‌ها نسبت به یکدیگر همان ترتیب عادی خواهد بود\&. .sp \fI\fR به صورت زیر تجزیه می‌شود: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} خطوط خالی نادیده گرفته می‌شوند، بنابراین می‌توان از آن‌ها به عنوان جداکننده جهت خوانایی استفاده کرد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} خطوطی که با علامت هش ("#") شروع می‌شوند نادیده گرفته می‌شوند، بنابراین می‌توان از آن‌ها برای توضیحات (کامنت) استفاده کرد\&. اگر الگو با هش شروع می‌شود، یک بک‌اسلش ("\fB\e\fR") به ابتدای آن اضافه کنید\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} هر خط دیگر شامل یک الگوی واحد است\&. .RE .sp الگوها همان نحو و معنای الگوهای استفاده‌شده برای \fBfnmatch\fR(3) بدون فلگ \fBFNM_PATHNAME\fR را دارند، با این تفاوت که اگر با حذف هر تعداد از مؤلفه‌های انتهایی نام مسیر، تطابق با الگو برقرار شود، آن نام مسیر نیز با الگو مطابقت خواهد داشت\&. برای مثال، الگوی "\fBfoo*bar\fR" با "\fBfooasdfbar\fR" و "\fBfoo/bar/baz/asdf\fR" مطابقت دارد اما با "\fBfoobarx\fR" مطابقت ندارد\&. .RE .PP \fB\-\-skip\-to=\fR\fI\fR, \fB\-\-rotate\-to=\fR\fI\fR .RS 4 فایل‌های قبل از \fI\fR نام‌برده‌شده را از خروجی کنار می‌گذارد (یعنی \fIskip to\fR)، یا آن‌ها را به انتهای خروجی منتقل می‌کند (یعنی \fIrotate to\fR)\&. این گزینه‌ها اساساً برای استفاده دستور \fBgit\fR \fBdifftool\fR ابداع شده‌اند و در غیر این صورت ممکن است چندان مفید نباشند\&. .RE .PP \fB\-R\fR .RS 4 دو ورودی را جابه‌جا (swap) می‌کند؛ یعنی تفاوت‌ها را از index یا فایل روی دیسک نسبت به محتویات درخت نمایش می‌دهد\&. .RE .PP \fB\-\-relative\fR[\fB=\fR\fI\fR], \fB\-\-no\-relative\fR .RS 4 هنگامی که از یک زیردایرکتوریِ پروژه اجرا می‌شود، با این گزینه می‌توان تعیین کرد تا تغییرات خارج از آن دایرکتوری نادیده گرفته شده و نام مسیرها به صورت نسبی با آن نمایش داده شوند\&. هنگامی که در یک زیردایرکتوری نیستید (برای مثال در یک مخزن bare)، می‌توانید با دادن یک \fI\fR به عنوان آرگومان، مشخص کنید که خروجی نسبت به کدام زیردایرکتوری نسبی شود\&. \fB\-\-no\-relative\fR می‌تواند برای لغو اثر هر دو گزینه پیکربندی \fBdiff\&.relative\fR و \fB\-\-relative\fR قبلی استفاده شود\&. .RE .PP \fB\-a\fR, \fB\-\-text\fR .RS 4 تمام فایل‌ها را به عنوان متنی در نظر بگیر\&. .RE .PP \fB\-\-ignore\-cr\-at\-eol\fR .RS 4 هنگام مقایسه، کاراکتر بازگشت به ابتدای سطر (carriage\-return) در انتهای خط را نادیده بگیر\&. .RE .PP \fB\-\-ignore\-space\-at\-eol\fR .RS 4 تغییرات در فاصله‌های خالی در انتهای خط (EOL) را نادیده بگیر\&. .RE .PP \fB\-b\fR, \fB\-\-ignore\-space\-change\fR .RS 4 تغییرات در مقدار فاصله‌های خالی را نادیده بگیر\&. این گزینه فاصله‌های خالی در انتهای خط را نادیده می‌گیرد و تمام توالی‌های دیگر از یک یا چند نویسه فاصله خالی را معادل یکدیگر در نظر می‌گیرد\&. .RE .PP \fB\-w\fR, \fB\-\-ignore\-all\-space\fR .RS 4 هنگام مقایسه خطوط، فاصله‌های خالی را نادیده بگیر\&. این گزینه تفاوت‌ها را حتی اگر در یک خط فاصله خالی وجود داشته باشد و در خط دیگر هیچ فاصله‌ای نباشد نادیده می‌گیرد\&. .RE .PP \fB\-\-ignore\-blank\-lines\fR .RS 4 تغییراتی را که تمام خطوط آن‌ها خالی هستند نادیده بگیر\&. .RE .PP \fB\-I\fR\fI\fR, \fB\-\-ignore\-matching\-lines=\fR\fI\fR .RS 4 تغییراتی را که تمام خطوط آن‌ها با \fI\fR مطابقت دارد نادیده بگیر\&. این گزینه می‌تواند بیش از یک بار مشخص شود\&. .RE .PP \fB\-\-inter\-hunk\-context=\fR\fI\fR .RS 4 زمینه (context) میان قطعات (hunks) diff را تا تعداد خطوط مشخص‌شده در \fI\fR نمایش بده و بدین ترتیب قطعاتی را که به یکدیگر نزدیک هستند ادغام کن\&. مقدار پیش‌فرض آن \fBdiff\&.interHunkContext\fR یا در صورت عدم تنظیم این گزینه پیکربندی، 0 است\&. .RE .PP \fB\-W\fR, \fB\-\-function\-context\fR .RS 4 تمام تابع را به عنوان خطوط زمینه (context) برای هر تغییر نمایش بده\&. نام توابع به همان روشی تعیین می‌شود که \fBgit\fR \fBdiff\fR هدرهای قطعات وصله را استخراج می‌کند (به بخش "تعریف سرآیند قطعه سفارشی (Defining a custom hunk\-header)" در \fBgitattributes\fR(5) مراجعه کنید)\&. .RE .PP \fB\-\-exit\-code\fR .RS 4 کاری می‌کند که برنامه با کدهای خروجی مشابه با \fBdiff\fR(1) خارج شود\&. به این صورت که در صورت وجود تفاوت با کد 1 خارج می‌شود و کد 0 به معنای عدم وجود تفاوت است\&. .RE .PP \fB\-\-quiet\fR .RS 4 تمام خروجی‌های برنامه را غیرفعال کن\&. این گزینه به طور ضمنی شامل \fB\-\-exit\-code\fR نیز هست\&. اجرای دستیارهای diff خارجی را که به کد خروجی آن‌ها اعتمادی نیست، یعنی گزینه پیکربندی مربوط به آن‌ها \fBdiff\&.trustExitCode\fR یا \fBdiff\&.\fR\fI\fR\fB\&.trustExitCode\fR یا متغیر محیطی \fBGIT_EXTERNAL_DIFF_TRUST_EXIT_CODE\fR بر روی false تنظیم شده باشد، غیرفعال می‌کند\&. .RE .PP \fB\-\-ext\-diff\fR .RS 4 اجازه اجرای یک دستیار diff خارجی را بده\&. اگر یک درایور diff خارجی را با \fBgitattributes\fR(5) تنظیم کرده باشید، باید از این گزینه همراه با \fBgit-log\fR(1) و دستورات مشابه استفاده کنید\&. .RE .PP \fB\-\-no\-ext\-diff\fR .RS 4 اجرای درایورهای diff خارجی را غیرمجاز کن\&. .RE .PP \fB\-\-textconv\fR, \fB\-\-no\-textconv\fR .RS 4 هنگام مقایسه فایل‌های باینری، اجرای فیلترهای تبدیل متن خارجی را مجاز (یا غیرمجاز) کن\&. برای جزئیات به \fBgitattributes\fR(5) مراجعه کنید\&. از آنجا که فیلترهای textconv معمولاً یک تبدیل یک‌طرفه هستند، diff حاصل برای انسان خوانا و مناسب است، اما قابل اعمال (apply) نیست\&. به همین دلیل، فیلترهای textconv به طور پیش‌فرض فقط برای \fBgit-diff\fR(1) و \fBgit-log\fR(1) فعال هستند، اما برای \fBgit-format-patch\fR(1) یا دستورات ساختاری (plumbing) مربوط به diff فعال نیستند\&. .RE .PP \fB\-\-ignore\-submodules\fR[\fB=\fR(\fBnone\fR|\fBuntracked\fR|\fBdirty\fR|\fBall\fR)] .RS 4 تغییرات مربوط به زیرماژول‌ها را در تولید diff نادیده بگیر\&. مقدار \fBall\fR پیش‌فرض است\&. استفاده از \fBnone\fR هنگامی که زیرماژول حاوی فایل‌های ردیابی‌نشده یا تغییریافته باشد یا مقدار \fBHEAD\fR آن با کامیت ثبت‌شده در پروژه اصلی (superproject) تفاوت داشته باشد، آن زیرماژول را به عنوان تغییریافته (modified) در نظر می‌گیرد و می‌تواند برای بازنویسی هرگونه تنظیمات گزینه \fBignore\fR در \fBgit-config\fR(1) یا \fBgitmodules\fR(5) استفاده شود\&. هنگامی که از \fBuntracked\fR استفاده می‌شود، زیرماژول‌ها در صورتی که فقط حاوی محتوای ردیابی‌نشده باشند تغییریافته (dirty) در نظر گرفته نمی‌شوند (اما همچنان برای محتوای تغییریافته بررسی می‌شوند)\&. استفاده از \fBdirty\fR تمام تغییرات درخت کاری زیرماژول‌ها را نادیده می‌گیرد و فقط تغییرات مربوط به کامیت‌های ذخیره‌شده در پروژه اصلی نمایش داده می‌شوند (این رفتار تا نسخه 1\&.7\&.0 بود)\&. استفاده از \fBall\fR تمام تغییرات زیرماژول‌ها را پنهان می‌کند\&. .RE .PP \fB\-\-src\-prefix=\fR\fI\fR .RS 4 پیشوند منبعِ داده‌شده \fI\fR را به جای "a/" نمایش بده\&. .RE .PP \fB\-\-dst\-prefix=\fR\fI\fR .RS 4 پیشوند مقصدِ داده‌شده \fI\fR را به جای "b/" نمایش بده\&. .RE .PP \fB\-\-no\-prefix\fR .RS 4 هیچ پیشوندی برای منبع یا مقصد نمایش نده\&. .RE .PP \fB\-\-default\-prefix\fR .RS 4 از پیشوندهای پیش‌فرض منبع و مقصد ("a/" و "b/") استفاده کن\&. این گزینه متغیرهای پیکربندی مانند \fBdiff\&.noprefix\fR, \fBdiff\&.srcPrefix\fR, \fBdiff\&.dstPrefix\fR و \fBdiff\&.mnemonicPrefix\fR را بازنویسی می‌کند (به \fBgit-config\fR(1) مراجعه کنید)\&. .RE .PP \fB\-\-line\-prefix=\fR\fI\fR .RS 4 یک پیشوند اضافی \fI\fR را به ابتدای هر خط از خروجی اضافه کن\&. .RE .PP \fB\-\-ita\-invisible\-in\-index\fR .RS 4 به طور پیش‌فرض ورودی‌های اضافه‌شده با \fBgit\fR \fBadd\fR \fB\-N\fR به عنوان یک فایل خالیِ موجود در \fBgit\fR \fBdiff\fR و یک فایل جدید در \fBgit\fR \fBdiff\fR \fB\-\-cached\fR ظاهر می‌شوند\&. این گزینه باعث می‌شود که ورودی به عنوان یک فایل جدید در \fBgit\fR \fBdiff\fR و ناموجود در \fBgit\fR \fBdiff\fR \fB\-\-cached\fR نمایش داده شود\&. این گزینه را می‌توان با \fB\-\-ita\-visible\-in\-index\fR به حالت قبل بازگرداند\&. هر دو گزینه آزمایشی هستند و ممکن است در آینده حذف شوند\&. .RE .PP \-\-max\-depth= .RS 4 برای هر الگوی مسیر (pathspec) مشخص‌شده در خط فرمان، حداکثر تا \fI\fR سطح از دایرکتوری‌ها به پایین پیمایش کن\&. مقدار \fB\-1\fR به معنای بدون محدودیت است\&. نمی‌توان آن را با نویسه‌های عام (wildcards) در pathspec ترکیب کرد\&. با فرض یک درخت حاوی \fBfoo/bar/baz\fR، فهرست زیر تطابق‌های تولیدشده توسط هر مجموعه از گزینه‌ها را نشان می‌دهد: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-max\-depth=0\fR \fB\-\-\fR \fBfoo\fR: \fBfoo\fR .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-max\-depth=1\fR \fB\-\-\fR \fBfoo\fR: \fBfoo/bar\fR .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-max\-depth=1\fR \fB\-\-\fR \fBfoo/bar\fR: \fBfoo/bar/baz\fR .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-max\-depth=1\fR \fB\-\-\fR \fBfoo\fR \fBfoo/bar\fR: \fBfoo/bar/baz\fR .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-max\-depth=2\fR \fB\-\-\fR \fBfoo\fR: \fBfoo/bar/baz\fR .RE .sp اگر هیچ الگوی مسیری (pathspec) مشخص نشود، عمق به گونه‌ای اندازه‌گیری می‌شود که گویی تمام ورودی‌های سطح بالا مشخص شده‌اند\&. توجه داشته باشید که این با اندازه‌گیری از ریشه متفاوت است، زیرا \fB\-\-max\-depth=0\fR همچنان \fBfoo\fR را برمی‌گرداند\&. این به شما امکان می‌دهد تا ضمن درخواست زیرمجموعه‌ای از ورودی‌های سطح بالا، عمق را نیز محدود کنید\&. .sp توجه داشته باشید که این گزینه تنها برای diff میان شیءهای درختی (tree objects) پشتیبانی می‌شود، نه در برابر ایندکس یا درخت کاری\&. .RE .sp برای توضیحات دقیق‌تر درباره این گزینه‌های رایج، همچنین به \fBgitdiffcore\fR(7) مراجعه کنید\&. .PP .RS 4 شناسه یک شیء درخت (tree object)\&. .RE .PP \&... .RS 4 در صورت ارائه، نتایج به زیرمجموعه‌ای از فایل‌های منطبق بر یکی از مشخصه‌های مسیر ارائه‌شده محدود می‌شوند\&. .RE .PP \-r .RS 4 پیمایش بازگشتی در زیردرخت‌ها\&. .RE .PP \-t .RS 4 نمایش ورودی خود درخت به همراه زیردرخت‌ها\&. متضمن \-r است\&. .RE .PP \-\-root .RS 4 هنگامی که \fB\-\-root\fR مشخص شود، کامیت اولیه به عنوان یک رویداد بزرگ ایجاد نشان داده خواهد شد\&. این معادل تفاضل در برابر درخت تهی (NULL tree) است\&. .RE .PP \-\-merge\-base .RS 4 به جای مقایسه مستقیم ها، از پایه ادغام (merge base) میان دو به عنوان سمت «قبل» استفاده می‌کند\&. باید دو مشخص شده باشد و هر دو باید کامیت باشند\&. .RE .PP \-\-stdin .RS 4 هنگامی که \fB\-\-stdin\fR مشخص شود، دستور آرگومان‌های را از خط فرمان دریافت نمی‌کند\&. در عوض، خطوطی حاوی دو ، یک ، یا فهرستی از را از ورودی استاندارد خود می‌خواند\&. (از یک فاصله منفرد به عنوان جداکننده استفاده کنید)\&. .sp هنگامی که دو درخت داده شوند، درخت اول را با دومی مقایسه می‌کند\&. هنگامی که یک کامیت منفرد داده شود، آن کامیت را با والدین خود مقایسه می‌نماید\&. کامیت‌های باقی‌مانده، در صورت ارائه، به عنوان والدین کامیت اول لحاظ می‌شوند\&. .sp هنگام مقایسه دو درخت، شناسه هر دو درخت (که با فاصله جدا شده و به خط جدید ختم می‌شود) پیش از تفاضل چاپ می‌گردد\&. هنگام مقایسه کامیت‌ها، شناسه اولین (یا تنها) کامیت به همراه یک خط جدید چاپ می‌شود\&. .sp گزینه‌های زیر رفتار دستور را هنگام مقایسه کامیت‌ها (و نه درخت‌ها) بیشتر تحت تأثیر قرار می‌دهند\&. .RE .PP \-m .RS 4 به طور پیش‌فرض، \fIgit diff\-tree \-\-stdin\fR تفاضل‌ها را برای کامیت‌های ادغام نمایش نمی‌دهد\&. با این گزینه، تفاضل‌های آن کامیت را نسبت به تمام والدینش نشان می‌دهد\&. همچنین \fB\-c\fR را ببینید\&. .RE .PP \-s .RS 4 به طور پیش‌فرض، \fIgit diff\-tree \-\-stdin\fR تفاضل‌ها را یا به صورت قابل خواندن توسط ماشین (بدون \fB\-p\fR) یا در قالب وصله (با \fB\-p\fR) نمایش می‌دهد\&. این خروجی می‌تواند خاموش و متوقف شود\&. این گزینه تنها همراه با گزینه \fB\-v\fR مفید است\&. .RE .PP \-v .RS 4 این گزینه باعث می‌شود \fIgit diff\-tree \-\-stdin\fR پیام کامیت را نیز قبل از تفاضل‌ها نمایش دهد\&. .RE .PP \fB\-\-pretty\fR[\fB=\fR\fI\fR], \fB\-\-format=\fR\fI\fR .RS 4 محتوای لاگ‌های کامیت را با قالبی زیبا در قالب داده‌شده نمایش می‌دهد، که در آن \fI\fR می‌تواند یکی از موارد \fBoneline\fR, \fBshort\fR, \fBmedium\fR, \fBfull\fR, \fBfuller\fR, \fBreference\fR, \fBemail\fR, \fBraw\fR, \fBformat:\fR\fI\fR و \fBtformat:\fR\fI\fR باشد\&. هنگامی که \fI\fR هیچ‌یک از موارد بالا نباشد و حاوی \fB%\fR\fI\fR باشد، به‌گونه‌ای عمل می‌کند که گویی \fB\-\-pretty=tformat:\fR\fI\fR داده شده است\&. .sp برای جزئیات بیشتر درباره هر قالب، بخش «PRETTY FORMATS» را ببینید\&. هنگامی که بخش \fB=\fR\fI\fR حذف شود، مقدار پیش‌فرض \fBmedium\fR خواهد بود\&. .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBنکته\fR .ps -1 .br می‌توانید قالب پیش‌فرض نمایش را در پیکربندی مخزن مشخص کنید (به \fBgit-config\fR(1) مراجعه کنید)\&. .sp .5v .RE .RE .PP \fB\-\-abbrev\-commit\fR .RS 4 به‌جای نمایش نام کامل هگزادسیمال ۴۰ بایتی شیء کامیت، پیشوندی را نشان می‌دهد که شیء را به‌طور منحصربه‌فرد نام‌گذاری کند\&. گزینه \fB\-\-abbrev=\fR\fI\fR (که در صورت نمایش خروجی diff، آن را نیز اصلاح می‌کند) می‌تواند برای تعیین حداقل طول پیشوند استفاده شود\&. .sp این گزینه باید خوانایی \fB\-\-pretty=oneline\fR را برای افرادی که از ترمینال‌های ۸۰ ستونی استفاده می‌کنند به مراتب بهتر کند\&. .RE .PP \fB\-\-no\-abbrev\-commit\fR .RS 4 نام کامل هگزادسیمال ۴۰ بایتی شیء کامیت را نمایش می‌دهد\&. این گزینه اثر \fB\-\-abbrev\-commit\fR را، چه صریح باشد و چه به‌طور ضمنی توسط گزینه‌های دیگر مانند \fB\-\-oneline\fR ایجاد شده باشد، خنثی می‌کند\&. همچنین متغیر \fBlog\&.abbrevCommit\fR را بازنویسی می‌نماید\&. .RE .PP \fB\-\-oneline\fR .RS 4 این گزینه یک حالت کوتاه‌نویسی برای استفاده همزمان از \fB\-\-pretty=oneline\fR و \fB\-\-abbrev\-commit\fR است\&. .RE .PP \fB\-\-encoding=\fR\fI\fR .RS 4 اشیای کامیت، کدگذاری نویسه‌های استفاده‌شده برای پیام لاگ را در هدر encoding خود ثبت می‌کنند؛ این گزینه می‌تواند به دستور بگوید پیام لاگ کامیت را با کدگذاری مورد نظر کاربر مجدداً کدگذاری کند\&. برای دستورات غیر زیرساختی (non-plumbing)، این مقدار به‌طور پیش‌فرض UTF\-8 است\&. توجه داشته باشید اگر یک شیء ادعا کند با \fBX\fR کدگذاری شده است و ما با \fBX\fR خروجی بدهیم، شیء را عیناً خروجی می‌دهیم؛ این بدان معنی است که توالی‌های نامعتبر در کامیت اصلی ممکن است به خروجی کپی شوند\&. مشابهاً، اگر تابع iconv(3) در تبدیل کامیت شکست بخورد، شیء اصلی را بدون اعلام خطا عیناً خروجی خواهیم داد\&. .RE .PP \fB\-\-expand\-tabs=\fR\fI\fR, \fB\-\-expand\-tabs\fR, \fB\-\-no\-expand\-tabs\fR .RS 4 پیش از نمایش پیام لاگ در خروجی، تب‌ها را گسترش می‌دهد (هر تب را با تعداد کافی فاصله جایگزین می‌کند تا به ستون نمایش بعدی که مضربی از \fI\fR است پر شود)\&. \fB\-\-expand\-tabs\fR حالت کوتاه‌نویسی برای \fB\-\-expand\-tabs=8\fR, و \fB\-\-no\-expand\-tabs\fR حالت کوتاه‌نویسی برای \fB\-\-expand\-tabs=0\fR است که گسترش تب‌ها را غیرفعال می‌کند\&. .sp به‌طور پیش‌فرض، تب‌ها در قالب‌های زیبایی که پیام لاگ را ۴ فاصله تورفتگی می‌دهند (یعنی \fBmedium\fR که پیش‌فرض است، \fBfull\fR, و \fBfuller\fR) گسترش می‌یابند\&. .RE .PP \fB\-\-notes\fR[\fB=\fR\fI\fR] .RS 4 هنگام نمایش پیام لاگ کامیت، یادداشت‌هایی را که کامیت را حاشیه‌نویسی می‌کنند (به \fBgit-notes\fR(1) مراجعه کنید) نشان می‌دهد\&. این رفتار پیش‌فرض برای دستورات \fBgit\fR \fBlog\fR, \fBgit\fR \fBshow\fR و \fBgit\fR \fBwhatchanged\fR است، در صورتی که هیچ گزینه \fB\-\-pretty\fR, \fB\-\-format\fR, یا \fB\-\-oneline\fR در خط فرمان داده نشده باشد\&. .sp به‌طور پیش‌فرض، یادداشت‌های نمایش‌داده‌شده از ارجاع‌های یادداشت فهرست‌شده در متغیرهای \fBcore\&.notesRef\fR و \fBnotes\&.displayRef\fR (یا بازنویسی‌های متغیرهای محیطی متناظر) برگرفته می‌شوند\&. برای جزئیات بیشتر به \fBgit-config\fR(1) مراجعه کنید\&. .sp با یک آرگومان اختیاری \fI\fR, از آن ارجاع برای یافتن یادداشت‌ها جهت نمایش استفاده می‌کند\&. ارجاع می‌تواند نام کامل ارجاع را هنگامی که با \fBrefs/notes/\fR آغاز می‌شود مشخص کند؛ هنگامی که با \fBnotes/\fR آغاز شود، پیشوند \fBrefs/\fR و در غیر این صورت \fBrefs/notes/\fR برای تشکیل نام کامل ارجاع اضافه می‌گردد\&. .sp می‌توان چندین گزینه \fB\-\-notes\fR را با هم ترکیب کرد تا مشخص شود چه یادداشت‌هایی نمایش داده می‌شوند\&. مثال‌ها: "\fB\-\-notes=foo\fR" تنها یادداشت‌های \fBrefs/notes/foo\fR را نشان می‌دهد؛ "\fB\-\-notes=foo\fR \fB\-\-notes\fR" هم یادداشت‌های "refs/notes/foo" و هم یادداشت‌های ارجاع(های) یادداشت پیش‌فرض را نشان می‌دهد\&. .RE .PP \fB\-\-no\-notes\fR .RS 4 یادداشت‌ها را نشان نمی‌دهد\&. این گزینه با بازنشانی فهرست ارجاع‌های یادداشت که یادداشت‌ها از آن‌ها نمایش داده می‌شوند، گزینه \fB\-\-notes\fR فوق را خنثی می‌کند\&. گزینه‌ها به ترتیبی که در خط فرمان داده شده‌اند تجزیه می‌شوند، بنابراین برای نمونه "\fB\-\-notes\fR \fB\-\-notes=foo\fR \fB\-\-no\-notes\fR \fB\-\-notes=bar\fR" تنها یادداشت‌های \fBrefs/notes/bar\fR را نشان خواهد داد\&. .RE .PP \fB\-\-show\-notes\-by\-default\fR .RS 4 یادداشت‌های پیش‌فرض را نشان می‌دهد مگر اینکه گزینه‌هایی برای نمایش یادداشت‌های خاص ارائه شده باشد\&. .RE .PP \fB\-\-show\-notes\fR[\fB=\fR\fI\fR], \fB\-\-standard\-notes\fR, \fB\-\-no\-standard\-notes\fR .RS 4 این گزینه‌ها منسوخ شده‌اند\&. به‌جای آن‌ها از گزینه‌های \fB\-\-notes\fR/\fB\-\-no\-notes\fR فوق استفاده کنید\&. .RE .PP \fB\-\-show\-signature\fR .RS 4 اعتبار شیء کامیت امضاشده را با ارسال امضا به \fBgpg\fR \fB\-\-verify\fR بررسی کرده و خروجی را نمایش می‌دهد\&. .RE .PP \-\-no\-commit\-id .RS 4 دستور \fIgit diff\-tree\fR در صورت امکان، سطری حاوی شناسه کامیت را چاپ می‌کند\&. این گزینه مانع از چاپ شناسه کامیت می‌شود\&. .RE .PP \-c .RS 4 این گزینه نحوه نمایش کامیت ادغام را تغییر می‌دهد (به این معنی که فقط زمانی کاربرد دارد که به دستور یک ، یا \fB\-\-stdin\fR داده شده باشد)\&. این گزینه تفاضل‌های هر یک از والدین را با نتیجه ادغام به طور همزمان نمایش می‌دهد، به جای اینکه تفاضل‌های جفتی میان یک والد و نتیجه را یکی پس از دیگری نشان دهد (که رفتار گزینه \fB\-m\fR است)\&. علاوه بر این، تنها فایل‌هایی را فهرست می‌کند که نسبت به تمام والدین تغییر یافته باشند\&. .RE .PP \-\-cc .RS 4 این گزینه نحوه نمایش وصله کامیت ادغام را تغییر می‌دهد، به روشی مشابه با گزینه \fB\-c\fR\&. این گزینه متضمن گزینه‌های \fB\-c\fR و \fB\-p\fR است و با حذف قطعات (hunks) غیرمهم که محتوای آن‌ها در والدین تنها دارای دو حالت است و نتیجه ادغام یکی از آنها را بدون تغییر انتخاب کرده، خروجی وصله را بیشتر فشرده می‌کند\&. هنگامی که همه قطعات غیرمهم باشند، خود کامیت و پیام لاگ کامیت نمایش داده نمی‌شوند، درست مانند هر حالت دیگر «تفاضل خالی»\&. .RE .PP \-\-combined\-all\-paths .RS 4 این گزینه باعث می‌شود که در تفاضل‌های ترکیبی (که برای کامیت‌های ادغام استفاده می‌شوند)، نام فایل از تمام والدین فهرست شود\&. بنابراین تنها در صورتی اثر دارد که \-c یا \-\-cc مشخص شده باشد، و احتمالاً تنها در صورتی مفید است که تغییر نام فایل تشخیص داده شده باشد (یعنی زمانی که تشخیص تغییر نام یا کپی درخواست شده باشد)\&. .RE .PP \-\-always .RS 4 نمایش خود کامیت و پیام لاگ کامیت حتی اگر تفاضل به خودی خود خالی باشد\&. .RE .SH "قالب‌های نمایشی (PRETTY FORMATS)" .sp اگر کامیت یک ادغام باشد و چنانچه قالب نمایشی یکی از موارد \fBoneline\fR، \fBemail\fR یا \fBraw\fR نباشد، یک خط اضافی پیش از خط \fBAuthor:\fR درج می‌شود\&. این خط با "Merge: " آغاز شده و هش‌های کامیت‌های نیاکان با فاصله چاپ می‌شوند\&. توجه داشته باشید اگر نمای خود از تاریخچه را محدود کرده باشید (برای نمونه تنها به تغییرات مربوط به یک دایرکتوری یا فایل خاص علاقه‌مند باشید)، کامیت‌های فهرست‌شده لزوماً همان فهرست کامیت‌های والد \fIمستقیم\fR نیستند\&. .sp چندین قالب توکار وجود دارد، و شما می‌توانید قالب‌های بیشتری را با تنظیم گزینه پیکربندی pretty\&. روی یک نام قالب دیگر یا یک رشته \fBformat:\fR مطابق توضیحات زیر تعریف کنید (به \fBgit\-config\fR(1) مراجعه کنید)\&. جزئیات قالب‌های توکار به شرح زیر است: .PP \fBoneline\fR .RS 4 .sp .if n \{\ .RS 4 .\} .nf \fI\fR \fI\fR .fi .if n \{\ .RE .\} .sp این قالب به‌گونه‌ای طراحی شده است که تا حد امکان فشرده باشد\&. .RE .PP \fBshort\fR .RS 4 .sp .if n \{\ .RS 4 .\} .nf \fBcommit\fR \fI\fR \fBAuthor:\fR \fI\fR \fI\fR .fi .if n \{\ .RE .\} .sp .RE .PP \fBmedium\fR .RS 4 .sp .if n \{\ .RS 4 .\} .nf \fBcommit\fR \fI\fR \fBAuthor:\fR \fI\fR \fBDate:\fR \fI\fR \fI\fR \fI\fR .fi .if n \{\ .RE .\} .sp .RE .PP \fBfull\fR .RS 4 .sp .if n \{\ .RS 4 .\} .nf \fBcommit\fR \fI\fR \fBAuthor:\fR \fI\fR \fBCommit:\fR \fI\fR \fI\fR \fI\fR .fi .if n \{\ .RE .\} .sp .RE .PP \fBfuller\fR .RS 4 .sp .if n \{\ .RS 4 .\} .nf \fBcommit\fR \fI\fR \fBAuthor:\fR \fI\fR \fBAuthorDate:\fR \fI\fR \fBCommit:\fR \fI\fR \fBCommitDate:\fR \fI\fR \fI\fR \fI\fR .fi .if n \{\ .RE .\} .sp .RE .PP \fBreference\fR .RS 4 .sp .if n \{\ .RS 4 .\} .nf \fI\fR (\fI\fR\fB,\fR \fI\fR) .fi .if n \{\ .RE .\} .sp این قالب برای ارجاع به یک کامیت دیگر در پیام کامیت استفاده می‌شود و مشابه \fB\-\-pretty=\*(Aqformat:%C(auto)%h (%s, %ad)\*(Aq\fR است\&. به‌طور پیش‌فرض، تاریخ با \fB\-\-date=short\fR قالب‌بندی می‌شود مگر اینکه گزینه \fB\-\-date\fR دیگری صراحتاً مشخص شده باشد\&. همانند هر \fBformat:\fR دارای جانگهدارنده‌های قالب، خروجی آن تحت تأثیر گزینه‌های دیگری مانند \fB\-\-decorate\fR و \fB\-\-walk\-reflogs\fR قرار نمی‌گیرد\&. .RE .PP \fBemail\fR .RS 4 .sp .if n \{\ .RS 4 .\} .nf \fBFrom\fR \fI\fR \fI\fR \fBFrom:\fR \fI\fR \fBDate:\fR \fI\fR \fBSubject:\fR [\fBPATCH\fR] \fI\fR \fI\fR .fi .if n \{\ .RE .\} .sp .RE .PP \fBmboxrd\fR .RS 4 مشابه \fBemail\fR است، اما خطوطی در پیام کامیت که با "From " شروع می‌شوند (با صفر یا چند علامت ">" در ابتدا) با ">" نقل‌قول می‌شوند تا به‌عنوان شروع یک کامیت جدید اشتباه گرفته نشوند\&. .RE .PP \fBraw\fR .RS 4 قالب \fBraw\fR کل کامیت را دقیقاً همان‌گونه که در شیء کامیت ذخیره شده است نشان می‌دهد\&. به‌ویژه، هش‌ها صرف‌نظر از اینکه از \fB\-\-abbrev\fR یا \fB\-\-no\-abbrev\fR استفاده شده باشد، به‌طور کامل نمایش داده می‌شوند، و اطلاعات \fIparents\fR کامیت‌های والد واقعی را بدون در نظر گرفتن پیوندها (grafts) یا ساده‌سازی تاریخچه نشان می‌دهد\&. توجه داشته باشید که این قالب بر نحوه نمایش کامیت‌ها تأثیر می‌گذارد، اما بر نحوه نمایش diff (برای نمونه با \fBgit\fR \fBlog\fR \fB\-\-raw\fR) تأثیری ندارد\&. برای دریافت نام‌های کامل اشیاء در یک قالب diff خام، از \fB\-\-no\-abbrev\fR استفاده کنید\&. .RE .PP \fBformat:\fR\fI\fR .RS 4 قالب \fBformat:\fR\fI\fR به شما امکان می‌دهد اطلاعاتی را که مایل به نمایش آن هستید مشخص نمایید\&. عملکرد آن تا حدودی شبیه قالب printf است، با این استثنای قابل توجه که خط جدید را با \fB%n\fR به‌جای \fB\en\fR دریافت می‌کنید\&. .sp برای نمونه، \fIformat:"The author of %h was %an, %ar%nThe title was >>%s<<%n"\fR خروجی شبیه به این نمایش می‌دهد: .sp .if n \{\ .RS 4 .\} .nf The author of fe6e0ee was Junio C Hamano, 23 hours ago The title was >>t4119: test autocomputing \-p for traditional diff input\&.<< .fi .if n \{\ .RE .\} .sp جانگهدارنده‌ها (placeholders) عبارتند از: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} جانگهدارنده‌هایی که به یک نویسه لفظی (literal) منفرد تبدیل می‌شوند: .PP \fB%n\fR .RS 4 خط جدید (newline) .RE .PP \fB%%\fR .RS 4 یک \fB%\fR خام .RE .PP \fB%x00\fR .RS 4 \fB%x\fR به همراه دو رقم هگزادسیمال با بایتی به ارزش آن ارقام هگزادسیمال جایگزین می‌شود (در ادامه این سند، این مورد را «کد قالب‌بندی لفظی» می‌نامیم)\&. .RE .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} جانگهدارنده‌هایی که بر قالب‌بندی جانگهدارنده‌های بعدی تأثیر می‌گذارند: .PP \fB%Cred\fR .RS 4 تغییر رنگ به قرمز .RE .PP \fB%Cgreen\fR .RS 4 تغییر رنگ به سبز .RE .PP \fB%Cblue\fR .RS 4 تغییر رنگ به آبی .RE .PP \fB%Creset\fR .RS 4 بازنشانی رنگ .RE .PP \fB%C(\fR\fI\fR\fB)\fR .RS 4 مشخصات رنگ، مطابق توضیحات زیر عنوان Values در بخش "CONFIGURATION FILE" از \fBgit\-config\fR(1)\&. به‌طور پیش‌فرض، رنگ‌ها تنها در صورتی نمایش داده می‌شوند که برای خروجی لاگ فعال شده باشند (توسط \fBcolor\&.diff\fR, \fBcolor\&.ui\fR, یا \fB\-\-color\fR, و با رعایت تنظیمات \fBauto\fR موارد پیشین در صورت ارسال به ترمینال)\&. \fB%C(auto,\fR\fI\fR\fB)\fR به‌عنوان یک مترادف تاریخی برای مقدار پیش‌فرض پذیرفته می‌شود (برای نمونه، \fB%C(auto,red)\fR)\&. مشخص کردن \fB%C(always,\fR\fI\fR\fB)\fR رنگ‌ها را حتی در صورتی که رنگ به نحو دیگری فعال نشده باشد نشان می‌دهد (اگرچه استفاده از \fB\-\-color=always\fR را برای فعال‌سازی رنگ برای کل خروجی، شامل این قالب و هر چیز دیگری که گیت ممکن است رنگ‌آمیزی کند، در نظر بگیرید)\&. عبارت \fBauto\fR به تنهایی (یعنی \fB%C(auto)\fR) رنگ‌آمیزی خودکار را روی جانگهدارنده‌های بعدی فعال می‌کند تا زمانی که رنگ مجدداً تغییر یابد\&. .RE .PP \fB%m\fR .RS 4 علامت چپ (<)، راست (>) یا مرز (\fB\-\fR) .RE .PP \fB%w(\fR[\fI\fR[\fB,\fR\fI\fR[\fB,\fR\fI\fR]]]\fB)\fR .RS 4 تغییر پیچش خط (line wrapping)، مشابه گزینه \fB\-w\fR از \fBgit\-shortlog\fR(1)\&. .RE .PP \fB%<(\fR\fI\fR[\fB,\fR(\fBtrunc\fR|\fBltrunc\fR|\fBmtrunc\fR)]\fB)\fR .RS 4 باعث می‌شود جانگهدارنده بعدی حداقل N پهنای ستون را اشغال کند و در صورت لزوم فاصله‌ها را در سمت راست پر نماید\&. در صورت تمایل، اگر خروجی طولانی‌تر از \fI\fR ستون باشد، آن را با سه‌نقطه (\&.\&.) در سمت چپ (ltrunc) \fB\&.\&.\fR\fBft\fR, در وسط (mtrunc) \fBmi\fR\fB\&.\&.\fR\fBle\fR, یا در انتها (trunc) \fBrig\&.\fR\&. کوتاه می‌کند\&. نکته ۱: کوتاه‌سازی تنها با \fI\fR >= 2 به درستی کار می‌کند\&. نکته ۲: فاصله‌های اطراف مقادیر \fI\fR و \fI\fR (در ادامه ببینید) اختیاری هستند\&. نکته ۳: ایموجی‌ها و سایر نویسه‌های پهن دو ستون نمایش را اشغال می‌کنند که ممکن است از مرزهای ستون فراتر رود\&. نکته ۴: علائم ترکیبی نویسه‌های تفکیک‌شده ممکن است در مرزهای لایه پرکننده (padding) جابه‌جا شوند\&. .RE .PP \fB%<|(\fR\fI\fR \fB)\fR .RS 4 باعث می‌شود جانگهدارنده بعدی حداقل تا \fI\fR\-امین ستون نمایش امتداد یابد و در صورت لزوم فاصله‌ها را در سمت راست پر کند\&. از مقادیر منفی \fI\fR برای موقعیت ستون‌های اندازه‌گیری‌شده از لبه سمت راست پنجره ترمینال استفاده کنید\&. .RE .PP \fB%>(\fR\fI\fR\fB)\fR, \fB%>|(\fR\fI\fR\fB)\fR .RS 4 به ترتیب مشابه \fB%<(\fR\fI\fR\fB)\fR و \fB%<|(\fR\fI\fR\fB)\fR هستند، اما فاصله‌ها را در سمت چپ پر می‌کنند\&. .RE .PP \fB%>>(\fR\fI\fR\fB)\fR, \fB%>>|(\fR\fI\fR\fB)\fR .RS 4 به ترتیب مشابه \fB%>(\fR\fI\fR\fB)\fR و \fB%>|(\fR\fI\fR\fB)\fR هستند، با این تفاوت که اگر جانگهدارنده بعدی فضایی بیش از مقدار داده‌شده اشغال کند و در سمت چپ آن فاصله وجود داشته باشد، از آن فاصله‌ها استفاده می‌کند\&. .RE .PP \fB%><(\fR\fI\fR\fB)\fR, \fB%><|(\fR\fI\fR\fB)\fR .RS 4 به ترتیب مشابه \fB%<(\fR\fI\fR\fB)\fR و \fB%<|(\fR\fI\fR\fB)\fR هستند، اما در هر دو طرف فاصله پر می‌کنند (یعنی متن وسط‌چین می‌شود)\&. .RE .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} جانگهدارنده‌هایی که به اطلاعات استخراج‌شده از کامیت بسط می‌یابند: .PP \fB%H\fR .RS 4 هش کامیت .RE .PP \fB%h\fR .RS 4 هش کوتاه‌شده کامیت .RE .PP \fB%T\fR .RS 4 هش درخت .RE .PP \fB%t\fR .RS 4 هش کوتاه‌شده درخت .RE .PP \fB%P\fR .RS 4 هش‌های والد .RE .PP \fB%p\fR .RS 4 هش‌های کوتاه‌شده والد .RE .PP \fB%an\fR .RS 4 نام نویسنده .RE .PP \fB%aN\fR .RS 4 نام نویسنده (با رعایت \&.mailmap، به \fBgit-shortlog\fR(1) یا \fBgit-blame\fR(1) مراجعه کنید) .RE .PP \fB%ae\fR .RS 4 ایمیل نویسنده .RE .PP \fB%aE\fR .RS 4 ایمیل نویسنده (با رعایت \&.mailmap، به \fBgit-shortlog\fR(1) یا \fBgit-blame\fR(1) مراجعه کنید) .RE .PP \fB%al\fR .RS 4 بخش محلی ایمیل نویسنده (بخش پیش از علامت \fB@\fR) .RE .PP \fB%aL\fR .RS 4 بخش محلی نویسنده (به \fB%al\fR مراجعه کنید) با رعایت \&.mailmap (به \fBgit-shortlog\fR(1) یا \fBgit-blame\fR(1) مراجعه فرمایید) .RE .PP \fB%ad\fR .RS 4 تاریخ نویسنده (قالب از گزینه \-\-date= پیروی می‌کند) .RE .PP \fB%aD\fR .RS 4 تاریخ نویسنده، به سبک RFC2822 .RE .PP \fB%ar\fR .RS 4 تاریخ نویسنده، نسبی .RE .PP \fB%at\fR .RS 4 تاریخ نویسنده، برچسب زمان UNIX .RE .PP \fB%ai\fR .RS 4 تاریخ نویسنده، قالب شبیه به ISO 8601 .RE .PP \fB%aI\fR .RS 4 تاریخ نویسنده، قالب سخت‌گیرانه ISO 8601 .RE .PP \fB%as\fR .RS 4 تاریخ نویسنده، قالب کوتاه (\fBYYYY\-MM\-DD\fR) .RE .PP \fB%ah\fR .RS 4 تاریخ نویسنده، سبک انسان‌خوان (مانند گزینه \fB\-\-date=human\fR از \fBgit-rev-list\fR(1)) .RE .PP \fB%cn\fR .RS 4 نام کامیت‌کننده (ثبت‌کننده) .RE .PP \fB%cN\fR .RS 4 نام کامیت‌کننده (با رعایت \&.mailmap، به \fBgit-shortlog\fR(1) یا \fBgit-blame\fR(1) مراجعه کنید) .RE .PP \fB%ce\fR .RS 4 ایمیل کامیت‌کننده .RE .PP \fB%cE\fR .RS 4 ایمیل کامیت‌کننده (با رعایت \&.mailmap، به \fBgit-shortlog\fR(1) یا \fBgit-blame\fR(1) مراجعه کنید) .RE .PP \fB%cl\fR .RS 4 بخش محلی ایمیل کامیت‌کننده (بخش پیش از علامت \fB@\fR) .RE .PP \fB%cL\fR .RS 4 بخش محلی کامیت‌کننده (به \fB%cl\fR مراجعه کنید) با رعایت \&.mailmap (به \fBgit-shortlog\fR(1) یا \fBgit-blame\fR(1) مراجعه فرمایید) .RE .PP \fB%cd\fR .RS 4 تاریخ کامیت‌کننده (قالب از گزینه \-\-date= تبعیت می‌کند) .RE .PP \fB%cD\fR .RS 4 تاریخ کامیت‌کننده، به سبک RFC2822 .RE .PP \fB%cr\fR .RS 4 تاریخ کامیت‌کننده، نسبی .RE .PP \fB%ct\fR .RS 4 تاریخ کامیت‌کننده، برچسب زمان UNIX .RE .PP \fB%ci\fR .RS 4 تاریخ کامیت‌کننده، قالبی شبیه به ISO 8601 .RE .PP \fB%cI\fR .RS 4 تاریخ کامیت‌کننده، قالب سخت‌گیرانه ISO 8601 .RE .PP \fB%cs\fR .RS 4 تاریخ کامیت‌کننده، قالب کوتاه (\fBYYYY\-MM\-DD\fR) .RE .PP \fB%ch\fR .RS 4 تاریخ کامیت‌کننده، سبک انسان‌خوان (مانند گزینه \fB\-\-date=human\fR از \fBgit-rev-list\fR(1)) .RE .PP \fB%d\fR .RS 4 نام‌های ارجاع، مانند گزینه \-\-decorate از \fBgit-log\fR(1) .RE .PP \fB%D\fR .RS 4 نام‌های ارجاع بدون بسته‌بندی در " (" و ")"\&. .RE .PP \fB%(count)\fR .RS 4 شماره یک وصله در یک سری وصله\&. تنها در \fB\-\-commit\-list\-format\fR در \fBformat\-patch\fR استفاده می‌شود\&. .RE .PP \fB%(total)\fR .RS 4 تعداد کل وصله‌ها در یک سری وصله\&. تنها در \fB\-\-commit\-list\-format\fR در \fBformat\-patch\fR استفاده می‌شود\&. .RE .PP \fB%(decorate\fR[\fB:\fR\fI