'\" t .\" Title: git-difftool .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026-06-29 .\" Manual: راهنمای Git .\" Source: Git 2.55.0 .\" Language: Persian .\" .TH "GIT\-DIFFTOOL" "1" "2026\-06\-29" "Git 2\&.55\&.0" "راهنمای Git" .\" ----------------------------------------------------------------- .\" * 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-difftool \- نمایش تغییرات با استفاده از ابزارهای متداول diff .SH "خلاصه دستور (SYNOPSIS)" .sp .nf \fBgit\fR \fBdifftool\fR [\fI\fR] [\fI\fR [\fI\fR]] [\fB\-\-\fR] [\fI\fR\&...] .fi .sp .SH "توضیحات (DESCRIPTION)" .sp دستور \fBgit\fR \fBdifftool\fR دستوری در گیت است که به شما امکان می‌دهد فایل‌ها را میان نسخه‌ها با استفاده از ابزارهای متداول diff مقایسه و ویرایش کنید\&. \fBgit\fR \fBdifftool\fR یک پیشانه (frontend) برای \fBgit\fR \fBdiff\fR است و همان گزینه‌ها و آرگومان‌ها را می‌پذیرد\&. به \fBgit-diff\fR(1) مراجعه کنید\&. .SH "گزینه‌ها (OPTIONS)" .PP \fB\-d\fR, \fB\-\-dir\-diff\fR .RS 4 فایل‌های تغییر‌یافته را در یک مکان موقت کپی کرده و یک diff دایرکتوری روی آن‌ها اجرا می‌کند\&. این حالت هرگز پیش از راه‌اندازی ابزار diff درخواستی برای تأیید نمایش نمی‌دهد\&. .RE .PP \fB\-y\fR, \fB\-\-no\-prompt\fR .RS 4 پیش از راه‌اندازی ابزار diff درخواستی برای تأیید نمایش ندهد\&. .RE .PP \fB\-\-prompt\fR .RS 4 پیش از هر بار فراخوانی ابزار diff درخواست تأیید نمایش دهد\&. این رفتار پیش‌فرض است؛ این گزینه برای نادیده گرفتن هرگونه تنظیمات پیکربندی ارائه شده است\&. .RE .PP \fB\-\-rotate\-to=\fR\fI\fR .RS 4 نمایش diff را از \fI\fR آغاز می‌کند، مسیرهای قبل از آن به انتهای خروجی منتقل شده و نمایش داده می‌شوند\&. .RE .PP \fB\-\-skip\-to=\fR\fI\fR .RS 4 نمایش diff را از \fI\fR آغاز می‌کند، و تمام مسیرهای قبل از آن نادیده گرفته می‌شوند\&. .RE .PP \fB\-t\fR \fI\fR, \fB\-\-tool=\fR\fI\fR .RS 4 از ابزار diff مشخص‌شده توسط \fI\fR استفاده می‌کند\&. مقادیر معتبر شامل emerge، kompare، meld و vimdiff هستند\&. دستور \fBgit\fR \fBdifftool\fR \fB\-\-tool\-help\fR را برای مشاهده فهرست تنظیمات معتبر \fI\fR اجرا کنید\&. .sp اگر ابزار diff مشخص نشده باشد، \fBgit\fR \fBdifftool\fR از متغیر پیکربندی \fBdiff\&.tool\fR استفاده خواهد کرد\&. اگر متغیر پیکربندی \fBdiff\&.tool\fR تنظیم نشده باشد، \fBgit\fR \fBdifftool\fR یک مقدار پیش‌فرض مناسب را انتخاب خواهد کرد\&. .sp می‌توانید با تنظیم متغیر پیکربندی \fBdifftool\&.\fR\fI\fR\fB\&.path\fR به‌طور صریح مسیر کامل ابزار را مشخص کنید\&. برای نمونه، می‌توانید مسیر مطلق kdiff3 را با تنظیم \fBdifftool\&.kdiff3\&.path\fR پیکربندی کنید\&. در غیر این صورت، \fBgit\fR \fBdifftool\fR فرض می‌کند که ابزار در PATH در دسترس است\&. .sp به جای اجرای یکی از ابزارهای شناخته‌شده diff، \fBgit\fR \fBdifftool\fR را می‌توان با مشخص کردن خط فرمانی که باید فراخوانی شود در متغیر پیکربندی \fBdifftool\&.\fR\fI\fR\fB\&.cmd\fR شخصی‌سازی کرد تا یک برنامه جایگزین را اجرا کند\&. .sp هنگامی که \fBgit\fR \fBdifftool\fR با این ابزار فراخوانی می‌شود (چه از طریق گزینه \fB\-t\fR یا \fB\-\-tool\fR و چه از طریق متغیر پیکربندی \fBdiff\&.tool\fR)، خط فرمان پیکربندی‌شده با متغیرهای زیر که در دسترس خواهند بود فراخوانی می‌شود: \fB$LOCAL\fR روی نام فایل موقت حاوی محتویات پیش‌تصویر diff تنظیم می‌شود و \fB$REMOTE\fR روی نام فایل موقت حاوی محتویات پس‌تصویر diff تنظیم می‌شود\&. \fB$MERGED\fR نام فایلی است که در حال مقایسه است\&. \fB$BASE\fR برای سازگاری با دستورات سفارشی ابزار ادغام (merge tool) ارائه شده است و همان مقدار \fB$MERGED\fR را دارد\&. .RE .PP \fB\-\-tool\-help\fR .RS 4 چاپ فهرستی از ابزارهای diff که می‌توان با \fB\-\-tool\fR استفاده کرد\&. .RE .PP \fB\-\-symlinks\fR, \fB\-\-no\-symlinks\fR .RS 4 رفتار پیش‌فرض \fBgit\fR \fBdifftool\fR این است که هنگام اجرا در حالت \fB\-\-dir\-diff\fR و زمانی که سمت راست مقایسه محتوایی مشابه با فایل موجود در درخت کاری داشته باشد، پیوندهای نمادین (symlinks) به درخت کاری ایجاد کند\&. .sp مشخص کردن \fB\-\-no\-symlinks\fR به \fBgit\fR \fBdifftool\fR دستور می‌دهد که در عوض رونوشت‌ها (copies) را ایجاد کند\&. \fB\-\-no\-symlinks\fR در ویندوز پیش‌فرض است\&. .RE .PP \fB\-x\fR \fI\fR, \fB\-\-extcmd=\fR\fI\fR .RS 4 یک دستور سفارشی برای مشاهده diffها مشخص کنید\&. هنگامی که این گزینه مشخص شود، \fBgit\-difftool\fR پیش‌فرض‌های پیکربندی‌شده را نادیده گرفته و دستور \fI\fR \fB$LOCAL\fR \fB$REMOTE\fR را اجرا می‌کند\&. علاوه بر این، \fB$BASE\fR در محیط تنظیم می‌شود\&. .RE .PP \fB\-g\fR, \fB\-\-gui\fR, \fB\-\-no\-gui\fR .RS 4 هنگامی که \fBgit\-difftool\fR با گزینه \fB\-g\fR یا \fB\-\-gui\fR فراخوانی می‌شود، ابزار پیش‌فرض diff از متغیر پیکربندی‌شده \fBdiff\&.guitool\fR به جای \fBdiff\&.tool\fR خوانده خواهد شد\&. این مورد ممکن است به‌طور خودکار با استفاده از متغیر پیکربندی \fBdifftool\&.guiDefault\fR انتخاب شود\&. گزینه \fB\-\-no\-gui\fR می‌تواند برای لغو این تنظیمات استفاده شود\&. اگر \fBdiff\&.guitool\fR تنظیم نشده باشد، به‌ترتیب گزینه‌های جایگزین \fBmerge\&.guitool\fR، \fBdiff\&.tool\fR و \fBmerge\&.tool\fR بررسی می‌شوند تا زمانی که یک ابزار پیدا شود\&. .RE .PP \fB\-\-trust\-exit\-code\fR, \fB\-\-no\-trust\-exit\-code\fR .RS 4 خطاهای گزارش‌شده توسط ابزار diff به‌طور پیش‌فرض نادیده گرفته می‌شوند\&. از \fB\-\-trust\-exit\-code\fR استفاده کنید تا \fBgit\-difftool\fR هنگامی که ابزار diff فراخوانی‌شده یک کد خروج غیرصفر برمی‌گرداند، خارج شود\&. .sp هنگامی که \fB\-\-trust\-exit\-code\fR به کار رود، \fBgit\-difftool\fR کد خروج ابزار فراخوانی‌شده را منتقل می‌کند\&. .RE .sp برای فهرست کامل گزینه‌های پشتیبانی‌شده به \fBgit-diff\fR(1) مراجعه کنید\&. .SH "پیکربندی (CONFIGURATION)" .sp زمانی که معادل‌های difftool تعریف نشده باشند، \fBgit\fR \fBdifftool\fR به متغیرهای پیکربندی \fBgit\fR \fBmergetool\fR رجوع می‌کند\&. .sp همه موارد بالاتر از این خط در این بخش از مستندات \fBgit-config\fR(1) گنجانده نشده است\&. محتوایی که در ادامه می‌آید همان چیزی است که در آنجا یافت می‌شود: .PP \fBdiff\&.tool\fR .RS 4 کنترل می‌کند که کدام ابزار diff توسط \fBgit-difftool\fR(1) استفاده شود\&. این متغیر مقدار پیکربندی‌شده در \fBmerge\&.tool\fR را بازنویسی می‌کند\&. فهرست زیر مقادیر معتبر توکار (built-in) را نشان می‌دهد\&. هر مقدار دیگری به عنوان یک ابزار diff سفارشی در نظر گرفته می‌شود و مستلزم آن است که متغیر متناظر \fBdifftool\&.\fR\fI\fR\fB\&.cmd\fR تعریف شده باشد\&. .RE .PP \fBdiff\&.guitool\fR .RS 4 کنترل می‌کند که هنگام مشخص شدن فلگ \fB\-g\fR/\fB\-\-gui\fR، کدام ابزار diff توسط \fBgit-difftool\fR(1) استفاده شود\&. این متغیر مقدار پیکربندی‌شده در \fBmerge\&.guitool\fR را بازنویسی می‌کند\&. فهرست زیر مقادیر معتبر توکار را نشان می‌دهد\&. هر مقدار دیگری به عنوان یک ابزار diff سفارشی در نظر گرفته می‌شود و مستلزم آن است که متغیر متناظر \fBdifftool\&.\fR\fI\fR\fB\&.cmd\fR تعریف شده باشد\&. .PP \fBaraxis\fR .RS 4 استفاده از Araxis Merge (نیازمند نشست گرافیکی است) .RE .PP \fBbc\fR .RS 4 استفاده از Beyond Compare (نیازمند نشست گرافیکی است) .RE .PP \fBbc3\fR .RS 4 استفاده از Beyond Compare (نیازمند نشست گرافیکی است) .RE .PP \fBbc4\fR .RS 4 استفاده از Beyond Compare (نیازمند نشست گرافیکی است) .RE .PP \fBcodecompare\fR .RS 4 استفاده از Code Compare (نیازمند نشست گرافیکی است) .RE .PP \fBdeltawalker\fR .RS 4 استفاده از DeltaWalker (نیازمند نشست گرافیکی است) .RE .PP \fBdiffmerge\fR .RS 4 استفاده از DiffMerge (نیازمند نشست گرافیکی است) .RE .PP \fBdiffuse\fR .RS 4 استفاده از Diffuse (نیازمند نشست گرافیکی است) .RE .PP \fBecmerge\fR .RS 4 استفاده از ECMerge (نیازمند نشست گرافیکی است) .RE .PP \fBemerge\fR .RS 4 استفاده از Emerge در Emacs .RE .PP \fBexamdiff\fR .RS 4 استفاده از ExamDiff Pro (نیازمند نشست گرافیکی است) .RE .PP \fBguiffy\fR .RS 4 استفاده از ابزار Diff متعلق به Guiffy (نیازمند نشست گرافیکی است) .RE .PP \fBgvimdiff\fR .RS 4 استفاده از gVim (نیازمند نشست گرافیکی است) .RE .PP \fBkdiff3\fR .RS 4 استفاده از KDiff3 (نیازمند نشست گرافیکی است) .RE .PP \fBkompare\fR .RS 4 استفاده از Kompare (نیازمند نشست گرافیکی است) .RE .PP \fBmeld\fR .RS 4 استفاده از Meld (نیازمند نشست گرافیکی است) .RE .PP \fBnvimdiff\fR .RS 4 استفاده از Neovim .RE .PP \fBopendiff\fR .RS 4 استفاده از FileMerge (نیازمند نشست گرافیکی است) .RE .PP \fBp4merge\fR .RS 4 استفاده از HelixCore P4Merge (نیازمند نشست گرافیکی است) .RE .PP \fBsmerge\fR .RS 4 استفاده از Sublime Merge (نیازمند نشست گرافیکی است) .RE .PP \fBtkdiff\fR .RS 4 استفاده از TkDiff (نیازمند نشست گرافیکی است) .RE .PP \fBvimdiff\fR .RS 4 استفاده از Vim .RE .PP \fBvscode\fR .RS 4 استفاده از Visual Studio Code (نیازمند نشست گرافیکی است) .RE .PP \fBwinmerge\fR .RS 4 استفاده از WinMerge (نیازمند نشست گرافیکی است) .RE .PP \fBxxdiff\fR .RS 4 استفاده از xxdiff (نیازمند نشست گرافیکی است) .RE .RE .PP \fBdifftool\&.\fR\fI\fR\fB\&.cmd\fR .RS 4 دستور لازم برای فراخوانی ابزار diff مشخص‌شده را تعیین کنید\&. دستور مشخص‌شده در پوسته با متغیرهای زیر که در دسترس خواهند بود ارزیابی می‌شود: \fBLOCAL\fR روی نام فایل موقت حاوی محتویات پیش‌تصویر diff تنظیم می‌شود و \fBREMOTE\fR روی نام فایل موقت حاوی محتویات پس‌تصویر diff تنظیم می‌شود\&. .sp برای جزئیات بیشتر به گزینه \fB\-\-tool=\fR\fI\fR در \fBgit-difftool\fR(1) مراجعه کنید\&. .RE .PP \fBdifftool\&.\fR\fI\fR\fB\&.path\fR .RS 4 مسیر ابزار داده‌شده را بازنویسی کنید\&. این در صورتی که ابزار شما در PATH قرار ندارد مفید است\&. .RE .PP \fBdifftool\&.trustExitCode\fR .RS 4 در صورتی که ابزار diff فراخوانی‌شده وضعیت خروج غیرصفر بازگرداند، از difftool خارج شود\&. .sp برای جزئیات بیشتر به گزینه \fB\-\-trust\-exit\-code\fR در \fBgit-difftool\fR(1) مراجعه کنید\&. .RE .PP \fBdifftool\&.prompt\fR .RS 4 پیش از هر بار فراخوانی ابزار diff درخواست تأیید نمایش دهد\&. .RE .PP \fBdifftool\&.guiDefault\fR .RS 4 مقدار \fBtrue\fR را تنظیم کنید تا به‌طور پیش‌فرض از \fBdiff\&.guitool\fR استفاده شود (معادل مشخص کردن آرگومان \fB\-\-gui\fR)، یا \fBauto\fR را برای انتخاب \fBdiff\&.guitool\fR یا \fBdiff\&.tool\fR بسته به وجود مقدار در متغیر محیطی \fBDISPLAY\fR تنظیم کنید\&. مقدار پیش‌فرض \fBfalse\fR است، که در آن آرگومان \fB\-\-gui\fR باید به‌طور صریح ارائه شود تا \fBdiff\&.guitool\fR مورد استفاده قرار گیرد\&. .RE .SH "همچنین ببینید (SEE ALSO)" .PP \fBgit-diff\fR(1) .RS 4 نمایش تغییرات میان کامیت‌ها، کامیت و درخت کاری، و غیره .RE .PP \fBgit-mergetool\fR(1) .RS 4 اجرای ابزارهای حل تعارض ادغام برای حل تعارضات ادغام .RE .PP \fBgit-config\fR(1) .RS 4 دریافت و تنظیم گزینه‌های مخزن یا سراسری .RE .SH "گیت (GIT)" .sp بخشی از مجموعه \fBgit\fR(1)