'\" t
.\" Title: git-annotate
.\" 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\-ANNOTATE" "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-annotate \- حاشیهنویسی خطوط فایل با اطلاعات کامیت
.SH "خلاصه دستور (SYNOPSIS)"
.sp
.nf
\fIgit annotate\fR [] [] [] [\-\-]
.fi
.sp
.SH "توضیحات (DESCRIPTION)"
.sp
هر سطر از فایل دادهشده را با اطلاعات مربوط به کامیتی که آن سطر را ایجاد کرده است، حاشیهنویسی میکند\&. همچنین به صورت اختیاری میتواند حاشیهنویسی را از یک ویرایش (revision) مشخص انجام دهد\&.
.sp
تنها تفاوت میان این دستور و
\fBgit-blame\fR(1)
در این است که آنها از قالبهای خروجی اندکی متفاوت استفاده میکنند؛ و این دستور صرفاً جهت سازگاری با گذشته برای پشتیبانی از اسکریپتهای موجود، و فراهم کردن نام دستوری آشناتر برای افرادی که از سایر سیستمهای مدیریت نسخه (SCM) میآیند، وجود دارد\&.
.SH "گزینهها (OPTIONS)"
.PP
\fB\-b\fR
.RS 4
برای کامیتهای مرزی (boundary commits) یک SHA\-1 خالی نشان میدهد\&. این مورد همچنین از طریق گزینه پیکربندی
\fBblame\&.blankBoundary\fR
قابل کنترل است\&.
.RE
.PP
\fB\-\-root\fR
.RS 4
با کامیتهای ریشه به عنوان مرز رفتار نمیکند\&. این مورد همچنین از طریق گزینه پیکربندی
\fBblame\&.showRoot\fR
قابل کنترل است\&.
.RE
.PP
\fB\-\-show\-stats\fR
.RS 4
آمار اضافی را در پایان خروجی blame لحاظ میکند\&.
.RE
.PP
\fB\-L\fR \fI\fR\fB,\fR\fI\fR, \fB\-L\fR \fB:\fR\fI\fR
.RS 4
تنها محدوده خطوط مشخصشده توسط
\fI\fR\fB,\fR\fI\fR،
یا با عبارت باقاعده نام تابع
\fI\fR
را حاشیهنویسی میکند\&. میتواند چندین بار مشخص شود\&. محدودههای دارای همپوشانی مجاز هستند\&.
.sp
\fI\fR
و
\fI\fR
اختیاری هستند\&.
\fB\-L\fR
\fI\fR
یا
\fB\-L\fR
\fI\fR\fB,\fR
از
\fI\fR
تا انتهای فایل را در بر میگیرد\&.
\fB\-L\fR
\fB,\fR\fI\fR
از ابتدای فایل تا
\fI\fR
را در بر میگیرد\&.
.sp
\fI\fR
و
\fI\fR
میتوانند یکی از این قالبها را داشته باشند:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fI\fR
.sp
اگر
\fI\fR
یا
\fI\fR
یک عدد باشد، شماره خط مطلق را مشخص میکند (شمارش خطوط از ۱ آغاز میشود)\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB/\fR\fI\fR\fB/\fR
.sp
این قالب از اولین خطی که با
\fI\fR
دادهشده بر اساس POSIX مطابقت داشته باشد استفاده میکند\&. اگر
\fI\fR
یک عبارت باقاعده باشد، از انتهای محدوده
\fB\-L\fR
قبلی (در صورت وجود)، وگرنه از ابتدای فایل جستجو خواهد کرد\&. اگر
\fI\fR
به صورت
\fB^/\fR\fI\fR\fB/\fR
باشد، از ابتدای فایل جستجو خواهد کرد\&. اگر
\fI\fR
یک عبارت باقاعده باشد، جستجو را از خط مشخصشده توسط
\fI\fR
آغاز میکند\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB+\fR\fI\fR
یا
\fB\-\fR\fI\fR
.sp
این حالت فقط برای
\fI\fR
معتبر است و تعدادی خط قبل یا بعد از خط مشخصشده توسط
\fI\fR
را تعیین میکند\&.
.RE
.sp
اگر
\fB:\fR\fI\fR
به جای
\fI\fR
و
\fI\fR
داده شود، یک عبارت باقاعده است که محدوده را از اولین خط funcname که با
\fI\fR
مطابقت دارد تا خط funcname بعدی نشان میدهد\&.
\fB:\fR\fI\fR
از انتهای محدوده
\fB\-L\fR
قبلی (در صورت وجود)، وگرنه از ابتدای فایل جستجو میکند\&.
\fB^:\fR\fI\fR
از ابتدای فایل جستجو میکند\&. نامهای توابع به همان شیوهای تعیین میشوند که
\fBgit\fR
\fBdiff\fR
هدرهای قطعه پچ (patch hunk headers) را محاسبه میکند (بخش
\fIDefining a custom hunk\-header\fR
در
\fBgitattributes\fR(5)
را ببینید)\&.
.RE
.PP
\fB\-l\fR
.RS 4
نمایش ویرایش (rev) طولانی (پیشفرض: غیرفعال)\&.
.RE
.PP
\fB\-t\fR
.RS 4
نمایش برچسب زمانی خام (پیشفرض: غیرفعال)\&.
.RE
.PP
\fB\-S\fR \fI\fR
.RS 4
استفاده از ویرایشهای موجود در
\fI\fR
به جای فراخوانی
\fBgit-rev-list\fR(1)\&.
.RE
.PP
\fB\-\-reverse\fR \fI\fR\fB\&.\&.\fR\fI\fR
.RS 4
پیمایش تاریخچه به سمت جلو به جای عقب\&. به جای نمایش ویرایشی که یک خط در آن ظاهر شده است، آخرین ویرایشی را که یک خط در آن وجود داشته نمایش میدهد\&. این امر نیازمند محدودهای از ویرایشها مانند
\fI\fR\fB\&.\&.\fR\fI\fR
است که در آن مسیر مورد بررسی در
\fI\fR
وجود داشته باشد\&.
دستور
\fBgit\fR
\fBblame\fR
\fB\-\-reverse\fR
\fI\fR
برای راحتی به صورت
\fBgit\fR
\fBblame\fR
\fB\-\-reverse\fR
\fI\fR\fB\&.\&.\fR\fBHEAD\fR
در نظر گرفته میشود\&.
.RE
.PP
\fB\-\-first\-parent\fR
.RS 4
هنگام مواجهه با یک کامیت ادغام (merge commit)، تنها کامیت والد اول را دنبال میکند\&. این گزینه میتواند برای تعیین اینکه یک سطر چه زمانی به یک شاخه یکپارچهسازی خاص اضافه شده است، به جای اینکه چه زمانی به کل تاریخچه وارد شده، استفاده شود\&.
.RE
.PP
\fB\-p\fR, \fB\-\-porcelain\fR
.RS 4
خروجی را در قالبی طراحیشده برای پردازش ماشینی نمایش میدهد\&.
.RE
.PP
\fB\-\-line\-porcelain\fR
.RS 4
قالب porcelain را نمایش میدهد، اما اطلاعات کامیت را برای هر خط خروجی میدهد، نه فقط در اولین باری که به یک کامیت ارجاع داده میشود\&. مستلزم گزینه
\fB\-\-porcelain\fR
است\&.
.RE
.PP
\fB\-\-incremental\fR
.RS 4
نتیجه را به صورت افزایشی (incremental) در قالبی طراحیشده برای پردازش ماشینی نمایش میدهد\&.
.RE
.PP
\fB\-\-encoding=\fR\fI\fR
.RS 4
کدگذاری مورد استفاده برای خروجی نامهای نویسندگان و خلاصههای کامیت را مشخص میکند\&. تنظیم آن روی
\fBnone\fR
باعث میشود خروجی blame دادههای تبدیلنشده باشد\&. برای اطلاعات بیشتر، توضیحات مربوط به کدگذاری را در صفحه راهنمای
\fBgit-log\fR(1)
ببینید\&.
.RE
.PP
\fB\-\-contents\fR \fI\fR
.RS 4
حاشیهنویسی را با استفاده از محتوای
\fI\fR
انجام میدهد، که در صورت تعیین
\fI\fR
از آن ویرایش آغاز میشود، و در غیر این صورت از
\fBHEAD\fR
شروع خواهد شد\&. میتوانید
\fB\-\fR
را تعیین کنید تا دستور، محتویات فایل را از ورودی استاندارد بخواند\&.
.RE
.PP
\fB\-\-date\fR \fI\fR
.RS 4
قالب مورد استفاده برای خروجی تاریخها را مشخص میکند\&. اگر
\fB\-\-date\fR
ارائه نشود، از مقدار متغیر پیکربندی
\fBblame\&.date\fR
استفاده میشود\&. اگر متغیر پیکربندی
\fBblame\&.date\fR
نیز تنظیم نشده باشد، از قالب iso استفاده خواهد شد\&. برای مقادیر پشتیبانیشده، توضیحات مربوط به گزینه
\fB\-\-date\fR
را در
\fBgit-log\fR(1)
ببینید\&.
.RE
.PP
\fB\-\-progress\fR, \fB\-\-no\-progress\fR
.RS 4
گزارش پیشرفت را در جریان خطای استاندارد فعال میکند، حتی اگر به یک ترمینال متصل نباشد\&. به صورت پیشفرض، وضعیت پیشرفت تنها زمانی گزارش میشود که به ترمینال متصل باشد\&. شما نمیتوانید از
\fB\-\-progress\fR
همراه با
\fB\-\-porcelain\fR
یا
\fB\-\-incremental\fR
استفاده کنید\&.
.RE
.PP
\fB\-M\fR[\fI\fR]
.RS 4
خطوط جابجا شده یا کپی شده در یک فایل را تشخیص میدهد\&. هنگامی که یک کامیت بلوکی از خطوط را جابجا یا کپی میکند (به عنوان مثال، فایل اصلی دارای
\fIA\fR
و سپس
\fIB\fR
است و کامیت آن را به
\fIB\fR
و سپس
\fIA\fR
تغییر میدهد)، الگوریتم سنتی
\fBblame\fR
تنها نیمی از جابجایی را متوجه میشود و معمولاً خطوطی را که به بالا منتقل شدهاند (یعنی
\fIB\fR)
به والد نسبت میدهد و خطوطی را که به پایین منتقل شدهاند (یعنی
\fIA\fR)
به کامیت فرزند منتسب میکند\&. با این گزینه، با اجرای مراحل بازرسی اضافی، هر دو گروه از خطوط به کامیت والد نسبت داده میشوند\&.
.sp
\fI\fR
اختیاری است، اما حد پایینی بر تعداد کاراکترهای حرفیعددی است که گیت باید به عنوان جابجایی/کپی درون یک فایل تشخیص دهد تا آن خطوط را به کامیت والد مرتبط سازد\&. مقدار پیشفرض ۲۰ است\&.
.RE
.PP
\fB\-C\fR[\fI\fR]
.RS 4
علاوه بر
\fB\-M\fR،
خطوط جابجا شده یا کپی شده از سایر فایلهایی را که در همان کامیت تغییر یافتهاند تشخیص میدهد\&. این ویژگی زمانی مفید است که برنامه خود را بازسازماندهی کرده و کدها را بین فایلهای مختلف جابجا میکنید\&. هنگامی که این گزینه دو بار داده شود، دستور همچنین به دنبال کپیها از سایر فایلها در کامیتی میگردد که فایل را ایجاد کرده است\&. هنگامی که این گزینه سه بار داده شود، دستور علاوه بر آن به دنبال کپیها از سایر فایلها در هر کامیتی میگردد\&.
.sp
\fI\fR
اختیاری است، اما حد پایینی برای تعداد کاراکترهای حرفیعددی است که گیت باید به عنوان جابجایی/کپی بین فایلها تشخیص دهد تا بتواند آن خطوط را به کامیت والد نسبت دهد\&. مقدار پیشفرض ۴۰ است\&. اگر بیش از یک گزینه
\fB\-C\fR
داده شود، آرگومان
\fI\fR
آخرین گزینه
\fB\-C\fR
اعمال خواهد شد\&.
.RE
.PP
\fB\-\-ignore\-rev\fR \fI\fR
.RS 4
تغییرات ایجادشده توسط آن ویرایش را هنگام انتساب منشا خطوط نادیده میگیرد، به گونهای که گویی این تغییر هرگز رخ نداده است\&. خطوطی که توسط یک کامیت نادیدهگرفتهشده تغییر یافته یا اضافه شدهاند، به کامیت قبلی که آن خط یا خطوط مجاور را تغییر داده است منتسب میشوند\&. این گزینه ممکن است چندین بار برای نادیده گرفتن بیش از یک ویرایش مشخص شود\&. اگر گزینه پیکربندی
\fBblame\&.markIgnoredLines\fR
تنظیم شده باشد، خطوطی که توسط یک کامیت نادیدهگرفتهشده تغییر یافته و به کامیت دیگری منتسب شدهاند، با یک علامت ? در خروجی blame مشخص میشوند\&. اگر گزینه پیکربندی
\fBblame\&.markUnblamableLines\fR
تنظیم شده باشد، آن خطوطی که توسط یک کامیت نادیدهگرفتهشده دستکاری شدهاند و نتوانستهایم آنها را به ویرایش دیگری منتسب کنیم، با یک علامت
\fB*\fR
مشخص میشوند\&. در حالتهای porcelain، به ترتیب عبارات
\fBignored\fR
و
\fBunblamable\fR
در یک خط جدید چاپ میشوند\&.
.RE
.PP
\fB\-\-ignore\-revs\-file\fR \fI\fR
.RS 4
ویرایشهای فهرستشده در
\fI\fR
را که باید در همان قالب
\fBfsck\&.skipList\fR
باشد، نادیده میگیرد\&. این گزینه میتواند تکرار شود، و این فایلها پس از هر فایلی که با گزینه پیکربندی
\fBblame\&.ignoreRevsFile\fR
تعیین شده باشد، پردازش خواهند شد\&. یک نام فایل خالی، ""، فهرست ویرایشهای بهدستآمده از فایلهای پردازششده قبلی را پاک خواهد کرد\&.
.RE
.PP
\fB\-\-color\-lines\fR
.RS 4
حاشیهنویسیهای خطوط را در قالب پیشفرض به رنگهای متفاوتی درمیآورد اگر از همان کامیت خط قبلی آمده باشند\&. این کار تشخیص بلوکهای کد اضافهشده توسط کامیتهای مختلف را آسانتر میکند\&. رنگ پیشفرض فیروزهای (cyan) است و میتواند با استفاده از گزینه پیکربندی
\fBcolor\&.blame\&.repeatedLines\fR
تنظیم شود\&.
.RE
.PP
\fB\-\-color\-by\-age\fR
.RS 4
حاشیهنویسیهای خطوط را در قالب پیشفرض بسته به قدمت خط رنگآمیزی میکند\&. گزینه پیکربندی
\fBcolor\&.blame\&.highlightRecent\fR
کنترل میکند که برای هر بازه قدمت از چه رنگی استفاده شود\&.
.RE
.PP
\fB\-h\fR
.RS 4
نمایش پیام راهنما\&.
.RE
.SH "همچنین ببینید (SEE ALSO)"
.sp
\fBgit-blame\fR(1)
.SH "گیت (GIT)"
.sp
بخشی از مجموعه \fBgit\fR(1)