'\" t .\" Title: git-notes .\" 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\-NOTES" "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-notes \- افزودن یا بررسی یادداشت‌های متصل به اشیا .SH "خلاصه دستور (SYNOPSIS)" .sp .nf \fBgit\fR \fBnotes\fR [\fBlist\fR [\fI\fR]] \fBgit\fR \fBnotes\fR \fBadd\fR [\fB\-f\fR] [\fB\-\-\allow\-empty\fR] [\fB\-\-\ R[\fBno\-\fR]\fBseparator\fR | \fB\-\-\separator=\fR\fI\fR] [\fB\-\-\ R[\fBno\-\fR]\fBstripspace\fR] [\fB\-F\fR \fI\fR | \fB\-m\fR \fI\fR | (\fB\-c\fR | \fB\-C\fR) \fI\fR] [\fB\-e\fR] [\fI\fR] \fBgit\fR \fBnotes\fR \fBcopy\fR [\fB\-f\fR] ( \fB\-\-\stdin\fR | \fI\fR [\fI\fR] ) \fBgit\fR \fBnotes\fR \fBappend\fR [\fB\-\-\allow\-empty\fR] [\fB\-\-\ R[\fBno\-\fR]\fBseparator\fR | \fB\-\-\separator=\fR\fI\fR] [\fB\-\-\ R[\fBno\-\fR]\fBstripspace\fR] [\fB\-F\fR \fI\fR | \fB\-m\fR \fI\fR | (\fB\-c\fR | \fB\-C\fR) \fI\fR] [\fB\-e\fR] [\fI\fR] \fBgit\fR \fBnotes\fR \fBedit\fR [\fB\-\-\allow\-empty\fR] [\fI\fR] [\fB\-\-\ R[\fBno\-\fR]\fBstripspace\fR] \fBgit\fR \fBnotes\fR \fBshow\fR [\fI\fR] \fBgit\fR \fBnotes\fR \fBmerge\fR [\fB\-v\fR | \fB\-q\fR] [\fB\-s\fR \fI\fR ] \fI\fR \fBgit\fR \fBnotes\fR \fBmerge\fR \fB\-\-\commit\fR [\fB\-v\fR | \fB\-q\fR] \fBgit\fR \fBnotes\fR \fBmerge\fR \fB\-\-\abort\fR [\fB\-v\fR | \fB\-q\fR] \fBgit\fR \fBnotes\fR \fBremove\fR [\fB\-\-\ignore\-missing\fR] [\fB\-\-\stdin\fR] [\fI\fR\&...] \fBgit\fR \fBnotes\fR \fBprune\fR [\fB\-n\fR] [\fB\-v\fR] \fBgit\fR \fBnotes\fR \fBget\-ref\fR .fi .sp .SH "توضیحات (DESCRIPTION)" .sp افزودن، حذف یا خواندن یادداشت‌های پیوست‌شده به اشیا، بدون دستکاری خود اشیا\&. .sp به‌طور پیش‌فرض، یادداشت‌ها در \fBrefs/notes/commits\fR ذخیره و از آن خوانده می‌شوند، اما این پیش‌فرض قابل تغییر است\&. به بخش‌های گزینه‌ها، پیکربندی و محیط در زیر مراجعه کنید\&. اگر این ارجاع وجود نداشته باشد، اولین باری که برای ذخیره یک یادداشت نیاز باشد، بدون سروصدا ایجاد خواهد شد\&. .sp یک کاربرد متداول یادداشت‌ها، تکمیل پیام یک کامیت بدون تغییر خود کامیت است\&. یادداشت‌ها می‌توانند توسط \fBgit\fR \fBlog\fR به همراه پیام کامیت اصلی نمایش داده شوند\&. برای متمایز ساختن این یادداشت‌ها از پیام ذخیره‌شده در شیء کامیت، یادداشت‌ها همانند پیام دندانه‌دار می‌شوند، پس از یک سطر بدون دندانه که می‌گوید "Notes (\fI\fR):" (یا "Notes:" برای \fBrefs/notes/commits\fR)\&. .sp یادداشت‌ها همچنین می‌توانند به وصله‌های آماده‌شده با \fBgit\fR \fBformat\-patch\fR با استفاده از گزینه \fB\-\-\notes\fR اضافه شوند\&. چنین یادداشت‌هایی به عنوان توضیحات وصله پس از یک خط جداکننده با سه خط تیره درج می‌شوند\&. .sp برای تغییر اینکه کدام یادداشت‌ها توسط \fBgit\fR \fBlog\fR نمایش داده شوند، به بحث \fBnotes\&.displayRef\fR در بخش پیکربندی مراجعه کنید\&. .sp برای راهکاری جهت انتقال یادداشت‌ها در دستوراتی که کامیت‌ها را بازنویسی می‌کنند، پیکربندی \fBnotes\&.rewrite\&.\fR\fI\fR را ببینید\&. .SH "زیردستورها (SUBCOMMANDS)" .PP \fBlist\fR .RS 4 فهرست کردن شیء یادداشت‌ها برای یک شیء داده‌شده\&. اگر شیئی مشخص نشود، فهرستی از تمام اشیای یادداشت و اشیایی که آن‌ها را حاشیه‌نویسی کرده‌اند نشان می‌دهد (در قالب "\fI\fR \fI\fR")\&. اگر هیچ زیردستوری داده نشود، این زیردستور پیش‌فرض است\&. .RE .PP \fBadd\fR .RS 4 افزودن یادداشت‌ها برای یک شیء داده‌شده (پیش‌فرض \fBHEAD\fR)\&. در صورتی که شیء از قبل دارای یادداشت باشد عملیات لغو می‌شود (از \fB\-f\fR برای بازنویسی یادداشت‌های موجود استفاده کنید)\&. با این حال، اگر از \fBadd\fR به‌صورت تعاملی استفاده می‌کنید (با استفاده از یک ویرایشگر برای ارائه محتوای یادداشت)، آنگاه به‌جای لغو عملیات، یادداشت‌های موجود در ویرایشگر باز خواهند شد (مانند زیردستور \fBedit\fR)\&. اگر چندین گزینه \fB\-m\fR و \fB\-F\fR مشخص کنید، یک خط خالی میان پیام‌ها درج خواهد شد\&. از گزینه \fB\-\-\separator\fR برای درج سایر جداکننده‌ها استفاده کنید\&. می‌توانید از \fB\-e\fR برای ویرایش و تنظیم دقیق پیام(های) ارائه‌شده از گزینه‌های \fB\-m\fR و \fB\-F\fR به صورت تعاملی (با استفاده از ویرایشگر) پیش از افزودن یادداشت استفاده کنید\&. .RE .PP \fBcopy\fR .RS 4 کپی کردن یادداشت‌های شیء اول بر روی شیء دوم (پیش‌فرض \fBHEAD\fR)\&. در صورتی که شیء دوم از قبل یادداشت داشته باشد یا شیء اول هیچ یادداشتی نداشته باشد، عملیات لغو می‌شود (از \fB\-f\fR برای بازنویسی یادداشت‌های موجود روی شیء دوم استفاده کنید)\&. این زیردستور معادل است با: \fBgit\fR \fBnotes\fR \fBadd\fR [\fB\-f\fR] \fB\-C\fR \fB$\fR(\fBgit\fR \fBnotes\fR \fBlist\fR \fI\fR) \fI\fR .sp در حالت \fB\-\-\stdin\fR، سطرهایی با قالب زیر را: .sp .if n \{\ .RS 4 .\} .nf SP [ SP ] LF .fi .if n \{\ .RE .\} .sp از ورودی استاندارد دریافت کرده و یادداشت‌ها را از هر \fI\fR به \fI\fR متناظر آن کپی می‌کند\&. (بخش اختیاری \fI\fR نادیده گرفته می‌شود تا این دستور بتواند ورودی ارائه‌شده به قلاب \fBpost\-rewrite\fR را بخواند\&.) .sp گزینه \fB\-\-\stdin\fR را نمی‌توان با نام‌های اشیای ارائه‌شده در خط فرمان ترکیب کرد\&. .RE .PP \fBappend\fR .RS 4 الحاق پیام(های) جدید ارائه‌شده توسط گزینه‌های \fB\-m\fR یا \fB\-F\fR به یک یادداشت موجود، یا افزودن آن‌ها به عنوان یادداشتی جدید در صورت عدم وجود، برای شیء (پیش‌فرض \fBHEAD\fR)\&. هنگام الحاق به یک یادداشت موجود، یک خط خالی پیش از هر پیام جدید به عنوان جداکننده میان‌پاراگرافی اضافه می‌شود\&. این جداکننده را می‌توان با گزینه \fB\-\-\separator\fR سفارشی کرد\&. پیش از الحاق یادداشت، پیام‌های ارائه‌شده توسط گزینه‌های \fB\-m\fR و \fB\-F\fR را می‌توانید با \fB\-e\fR به‌صورت تعاملی (با استفاده از یک ویرایشگر) ویرایش کنید\&. .RE .PP \fBedit\fR .RS 4 ویرایش یادداشت‌ها برای شیء داده‌شده (پیش‌فرض \fBHEAD\fR)\&. .RE .PP \fBshow\fR .RS 4 نمایش یادداشت‌ها برای شیء داده‌شده (پیش‌فرض \fBHEAD\fR)\&. .RE .PP \fBmerge\fR .RS 4 ادغام ارجاع یادداشت داده‌شده با ارجاع یادداشت‌های جاری\&. این دستور تلاش می‌کند تغییرات ایجادشده توسط ارجاع یادداشت داده‌شده (به نام "remote") را از زمان پایه ادغام (در صورت وجود) در ارجاع یادداشت‌های جاری (به نام "local") ادغام کند\&. .sp در صورت بروز تعارض و عدم تعیین یک استراتژی برای حل خودکار تعارض یادداشت‌ها (بخش "استراتژی‌های ادغام یادداشت‌ها" را ببینید)، حل‌کننده \fBmanual\fR (دستی) استفاده می‌شود\&. این حل‌کننده یادداشت‌های دارای تعارض را در یک درخت کاری ویژه (\fB\&.git/NOTES_MERGE_WORKTREE\fR) واکشی و آماده می‌کند، و به کاربر دستور می‌دهد تا تعارض‌ها را در آنجا به صورت دستی حل کند\&. پس از اتمام، کاربر می‌تواند ادغام را با \fBgit\fR \fBnotes\fR \fBmerge\fR \fB\-\-\commit\fR، یا لغو ادغام را با \fBgit\fR \fBnotes\fR \fBmerge\fR \fB\-\-\abort\fR انجام دهد\&. .RE .PP \fBremove\fR .RS 4 حذف یادداشت‌ها برای اشیای داده‌شده (پیش‌فرض \fBHEAD\fR)\&. هنگام تعیین صفر یا یک شیء از خط فرمان، این کار معادل تعیین یک پیام یادداشت خالی برای زیردستور \fBedit\fR است\&. .sp در حالت \fB\-\-\stdin\fR، نام‌های اشیای ارائه‌شده در ورودی استاندارد را نیز حذف می‌کند\&. به عبارت دیگر، \fB\-\-\stdin\fR می‌تواند با نام‌های اشیا از خط فرمان ترکیب شود\&. .RE .PP \fBprune\fR .RS 4 حذف تمامی یادداشت‌ها برای اشیای ناموجود یا غیرقابل دسترس\&. .RE .PP \fBget\-ref\fR .RS 4 چاپ ارجاع یادداشت‌های جاری\&. این دستور راهی آسان برای دریافت ارجاع یادداشت‌های جاری (مثلاً از طریق اسکریپت‌ها) فراهم می‌کند\&. .RE .SH "گزینه‌ها (OPTIONS)" .PP \fB\-f\fR, \fB\-\-\force\fR .RS 4 هنگام افزودن یادداشت به شیئی که از قبل یادداشت دارد، یادداشت‌های موجود را بازنویسی می‌کند (به‌جای لغو عملیات)\&. .RE .PP \fB\-m\fR \fI\fR, \fB\-\-\message=\fR\fI\fR .RS 4 استفاده از پیام یادداشت داده‌شده (به‌جای درخواست ورودی از کاربر)\&. در صورت ارائه چند گزینه \fB\-m\fR، مقادیر آن‌ها به صورت پاراگراف‌های مجزا به هم متصل می‌شوند\&. .RE .PP \fB\-F\fR \fI\fR, \fB\-\-\file=\fR\fI\fR .RS 4 دریافت پیام یادداشت از فایل داده‌شده\&. از \fB\-\fR برای خواندن پیام یادداشت از ورودی استاندارد استفاده کنید\&. .RE .PP \fB\-C\fR \fI\fR, \fB\-\-\reuse\-message=\fR\fI\fR .RS 4 در نظر گرفتن شیء blob داده‌شده (برای مثال، یک یادداشت دیگر) به عنوان پیام یادداشت\&. (برای کپی یادداشت‌ها میان اشیا از \fBgit\fR \fBnotes\fR \fBcopy\fR \fI\fR استفاده کنید\&.) این گزینه مستلزم \fB\-\-\no\-stripspace\fR است زیرا رفتار پیش‌فرض کپی عین متن پیام است\&. .RE .PP \fB\-c\fR \fI\fR, \fB\-\-\reedit\-message=\fR\fI\fR .RS 4 مانند \fB\-C\fR، اما با \fB\-c\fR ویرایشگر باز می‌شود تا کاربر بتواند پیام یادداشت را بیشتر ویرایش کند\&. .RE .PP \fB\-\-\allow\-empty\fR .RS 4 اجازه می‌دهد یک شیء یادداشت خالی ذخیره شود\&. رفتار پیش‌فرض حذف خودکار یادداشت‌های خالی است\&. .RE .PP \fB\-\-\separator=\fR\fI\fR, \fB\-\-\separator\fR, \fB\-\-\no\-separator\fR .RS 4 تعیین یک رشته به عنوان جداکننده سفارشی میان‌پاراگرافی (در انتهای آن در صورت نیاز یک خط جدید اضافه می‌شود)\&. در صورت استفاده از \fB\-\-\no\-separator\fR، هیچ جداکننده‌ای بین پاراگراف‌ها اضافه نخواهد شد\&. پیش‌فرض یک خط خالی است\&. .RE .PP \fB\-\-\stripspace\fR, \fB\-\-\no\-stripspace\fR .RS 4 پاک‌سازی فاصله‌های خالی (whitespace)\&. به‌طور مشخص (ببینید \fBgit-stripspace\fR(1)): .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 .\} ادغام چندین خط خالی متوالی در یک خط خالی .RE .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\en\fR گم‌شده به انتهای آخرین خط در صورت نیاز\&. .RE .sp گزینه \fB\-\-\stripspace\fR حالت پیش‌فرض است به‌جز برای \fB\-C\fR/\fB\-\-\reuse\-message\fR\&. با این حال، به یاد داشته باشید که این به ترتیب گزینه‌های مشابه بستگی دارد؛ برای مثال برای \fB\-C\fR \fI\fR \fB\-m\fR\fI\fR، گزینه \fB\-\-\stripspace\fR استفاده خواهد شد زیرا پیش‌فرض \fB\-m\fR بر \fB\-C\fR قبلی غلبه می‌کند\&. این یک محدودیت شناخته‌شده است که ممکن است در آینده برطرف شود\&. .RE .PP \fB\-\-\ref=\fR\fI\fR .RS 4 دستکاری درخت یادداشت‌ها در \fI\fR\&. این گزینه بر \fBGIT_NOTES_REF\fR و پیکربندی \fBcore\&.notesRef\fR غلبه می‌کند\&. این ارجاع زمانی که با \fBrefs/notes/\fR شروع شود نام کامل را مشخص می‌کند؛ هنگامی که با \fBnotes/\fR شروع شود \fBrefs/\fR و در غیر این صورت \fBrefs/notes/\fR به ابتدای آن اضافه می‌شود تا نام کامل ارجاع تشکیل شود\&. .RE .PP \fB\-\-\ignore\-missing\fR .RS 4 درخواست حذف یادداشت‌ها از شیئی که هیچ یادداشتی به آن متصل نیست را به عنوان خطا در نظر نمی‌گیرد\&. .RE .PP \fB\-\-\stdin\fR .RS 4 فقط برای \fBremove\fR و \fBcopy\fR معتبر است\&. به زیردستورهای مربوطه مراجعه کنید\&. .RE .PP \fB\-n\fR, \fB\-\-\dry\-run\fR .RS 4 چیزی را حذف نمی‌کند؛ فقط نام اشیایی را که یادداشت‌هایشان حذف می‌شود گزارش می‌دهد\&. .RE .PP \fB\-s\fR \fI\fR, \fB\-\-\strategy=\fR\fI\fR .RS 4 هنگام ادغام یادداشت‌ها، تعارض‌های یادداشت را با استفاده از استراتژی داده‌شده حل می‌کند\&. استراتژی‌های زیر شناسایی می‌شوند: \fBmanual\fR (پیش‌فرض)، \fBours\fR، \fBtheirs\fR، \fBunion\fR و \fBcat_sort_uniq\fR\&. این گزینه بر تنظیمات پیکربندی \fBnotes\&.mergeStrategy\fR غلبه می‌کند\&. برای اطلاعات بیشتر در مورد هر یک از استراتژی‌های ادغام یادداشت‌ها، به بخش "استراتژی‌های ادغام یادداشت‌ها" در زیر مراجعه کنید\&. .RE .PP \fB\-\-\commit\fR .RS 4 نهایی‌سازی یک \fBgit\fR \fBnotes\fR \fBmerge\fR در حال انجام\&. هنگامی که تعارض‌های ذخیره‌شده توسط \fBgit\fR \fBnotes\fR \fBmerge\fR در \fB\&.git/NOTES_MERGE_WORKTREE\fR را حل کردید از این گزینه استفاده کنید\&. این گزینه کامیت ادغام جزئی ایجادشده توسط \fBgit\fR \fBnotes\fR \fBmerge\fR (ذخیره‌شده در \fB\&.git/NOTES_MERGE_PARTIAL\fR) را با افزودن یادداشت‌های موجود در \fB\&.git/NOTES_MERGE_WORKTREE\fR اصلاح می‌کند\&. ارجاع یادداشت‌های ذخیره‌شده در ارجاع نمادین \fB\&.git/NOTES_MERGE_REF\fR به کامیت حاصل به‌روزرسانی می‌شود\&. .RE .PP \fB\-\-\abort\fR .RS 4 لغو/بازنشانی یک عملیات \fBgit\fR \fBnotes\fR \fBmerge\fR در حال انجام، یعنی ادغام یادداشت‌های دارای تعارض\&. این گزینه به‌سادگی تمامی فایل‌های مربوط به ادغام یادداشت‌ها را حذف می‌کند\&. .RE .PP \fB\-q\fR, \fB\-\-\quiet\fR .RS 4 هنگام ادغام یادداشت‌ها، عملیات را در سکوت انجام می‌دهد\&. .RE .PP \fB\-v\fR, \fB\-\-\verbose\fR .RS 4 هنگام ادغام یادداشت‌ها، اطلاعات با جزئیات بیشتری نمایش داده می‌شود\&. هنگام پاک‌سازی یادداشت‌ها (prune)، نام تمام اشیایی را که یادداشت‌هایشان حذف شده گزارش می‌دهد\&. .RE .SH "بحث و بررسی (DISCUSSION)" .sp یادداشت‌های کامیت، blobهایی حاوی اطلاعات اضافی درباره یک شیء هستند (معمولاً اطلاعاتی برای تکمیل پیام یک کامیت)\&. این blobها از ارجاعات یادداشت گرفته می‌شوند\&. ارجاع یادداشت معمولاً شاخه‌ای است که شامل "فایل‌هایی" است که مسیرهای آن‌ها همان نام‌های شیء برای اشیایی است که توصیف می‌کنند، به همراه چند جداکننده دایرکتوری که به دلایل کارایی اضافه شده‌اند \&\s-2\u[1]\d\s+2\&. .sp هر تغییر در یادداشت‌ها یک کامیت جدید در ارجاع یادداشت‌های مشخص‌شده ایجاد می‌کند\&. بنابراین می‌توانید با اجرای دستوری مانند \fBgit\fR \fBlog\fR \fB\-p\fR \fBnotes/commits\fR تاریخچه یادداشت‌ها را بررسی کنید\&. در حال حاضر پیام کامیت تنها ثبت می‌کند که کدام عملیات به‌روزرسانی را راه‌اندازی کرده است، و نویسنده کامیت طبق قوانین معمول تعیین می‌شود (به \fBgit-commit\fR(1) مراجعه کنید)\&. این جزئیات ممکن است در آینده تغییر کند\&. .sp همچنین مجاز است که یک ارجاع یادداشت مستقیماً به یک شیء درخت اشاره کند، که در این صورت تاریخچه یادداشت‌ها را می‌توان با \fBgit\fR \fBlog\fR \fB\-p\fR \fB\-g\fR \fI\fR خواند\&. .SH "استراتژی‌های ادغام یادداشت‌ها (NOTES MERGE STRATEGIES)" .sp استراتژی پیش‌فرض ادغام یادداشت‌ها \fBmanual\fR است، که یادداشت‌های دارای تعارض را در یک درخت کاری ویژه برای حل تعارض‌های یادداشت (\fB\&.git/NOTES_MERGE_WORKTREE\fR) آماده می‌کند و به کاربر آموزش می‌دهد تا تعارض‌ها را در آن درخت کاری حل کند\&. پس از اتمام، کاربر می‌تواند ادغام را با \fBgit\fR \fBnotes\fR \fBmerge\fR \fB\-\-\commit\fR نهایی کند یا با \fBgit\fR \fBnotes\fR \fBmerge\fR \fB\-\-\abort\fR آن را لغو نماید\&. .sp کاربران می‌توانند با استفاده از گزینه \fB\-s\fR/\fB\-\-\strategy\fR یا پیکربندی مناسب \fBnotes\&.mergeStrategy\fR، یکی از استراتژی‌های ادغام خودکار زیر را انتخاب کنند: .sp استراتژی \fBours\fR به‌طور خودکار تعارض‌های یادداشت را به نفع نسخه محلی (یعنی ارجاع یادداشت‌های جاری) حل می‌کند\&. .sp استراتژی \fBtheirs\fR به‌طور خودکار تعارض‌های یادداشت را به نفع نسخه ریموت (یعنی ارجاع یادداشت‌های داده‌شده که قرار است در ارجاع یادداشت‌های جاری ادغام شود) حل می‌کند\&. .sp استراتژی \fBunion\fR تعارض‌های یادداشت را با اتصال نسخه‌های محلی و ریموت به یکدیگر به‌طور خودکار حل می‌کند\&. .sp استراتژی \fBcat_sort_uniq\fR شبیه به \fBunion\fR است، اما علاوه بر اتصال نسخه‌های محلی و ریموت، خطوط حاصل را نیز مرتب کرده و خطوط تکراری را از نتیجه حذف می‌کند\&. این معادل اعمال پایپ‌لاین پوسته "cat | sort | uniq" بر روی نسخه‌های محلی و ریموت است\&. این استراتژی در صورتی مفید است که یادداشت‌ها از قالبی خط‌محور پیروی کنند که فرد بخواهد از خطوط تکراری در نتیجه ادغام جلوگیری کند\&. توجه داشته باشید که اگر هر یک از نسخه‌های محلی یا ریموت پیش از ادغام شامل خطوط تکراری باشند، آن‌ها نیز توسط این استراتژی ادغام یادداشت‌ها حذف خواهند شد\&. .SH "مثال‌ها (EXAMPLES)" .sp می‌توانید از یادداشت‌ها برای اضافه کردن حاشیه‌نویسی‌هایی با اطلاعاتی که در زمان نوشتن کامیت در دسترس نبوده‌اند استفاده کنید\&. .sp .if n \{\ .RS 4 .\} .nf $ git notes add \-m \*(AqTested\-by: Johannes Sixt \*(Aq 72a144e2 $ git show \-s 72a144e [\&.\&.\&.] Signed\-off\-by: Junio C Hamano Notes: Tested\-by: Johannes Sixt .fi .if n \{\ .RE .\} .sp .sp در اصل، یک یادداشت یک blob معمولی Git است و هر نوع قالبی (یا غیرقالبی) پذیرفته می‌شود\&. شما می‌توانید با استفاده از \fBgit\fR \fBhash\-object\fR یادداشت‌هایی ایمن برای داده‌های باینری از فایل‌های دلخواه بسازید: .sp .if n \{\ .RS 4 .\} .nf $ cc *\&.c $ blob=$(git hash\-object \-w a\&.out) $ git notes \-\-\ref=built add \-\-\allow\-empty \-C "$blob" HEAD .fi .if n \{\ .RE .\} .sp .sp (شما نمی‌توانید به‌سادگی از \fBgit\fR \fBnotes\fR \fB\-\-\ref=built\fR \fBadd\fR \fB\-F\fR \fBa\&.out\fR \fBHEAD\fR استفاده کنید زیرا این دستور ایمن در برابر باینری نیست\&.) البته، نمایش یادداشت‌های غیرمتنی با \fBgit\fR \fBlog\fR چندان منطقی نیست، بنابراین اگر از چنین یادداشت‌هایی استفاده می‌کنید، احتمالاً باید ابزارهای ویژه‌ای برای انجام کارهای مفید با آن‌ها بنویسید\&. .SH "پیکربندی (CONFIGURATION)" .PP \fBcore\&.notesRef\fR .RS 4 ارجاع یادداشت‌ها برای خواندن و دستکاری به‌جای \fBrefs/notes/commits\fR\&. باید یک نام ارجاع کامل و بدون اختصار باشد\&. این تنظیم را می‌توان از طریق متغیر محیطی و خط فرمان بازنویسی کرد\&. .RE .sp تمام موارد بالاتر از این خط در این بخش از مستندات \fBgit-config\fR(1) گنجانده نشده‌اند\&. محتوایی که در ادامه می‌آید همان چیزی است که در آنجا یافت می‌شود: .PP \fBnotes\&.mergeStrategy\fR .RS 4 کدام استراتژی ادغام به‌طور پیش‌فرض هنگام حل تعارض‌های یادداشت انتخاب شود\&. باید یکی از موارد \fBmanual\fR، \fBours\fR، \fBtheirs\fR، \fBunion\fR یا \fBcat_sort_uniq\fR باشد\&. مقدار پیش‌فرض \fBmanual\fR است\&. برای اطلاعات بیشتر در مورد هر استراتژی، بخش "استراتژی‌های ادغام یادداشت‌ها" در \fBgit-notes\fR(1) را ببینید\&. .sp این تنظیم را می‌توان با ارسال گزینه \fB\-\-\strategy\fR به \fBgit-notes\fR(1) بازنویسی کرد\&. .RE .PP \fBnotes\&.\fR\fI\fR\fB\&.mergeStrategy\fR .RS 4 کدام استراتژی ادغام هنگام ادغام یادداشت‌ها در \fBrefs/notes/\fR\fI\fR انتخاب شود\&. این بر گزینه عمومی‌تر \fBnotes\&.mergeStrategy\fR غلبه می‌کند\&. برای اطلاعات بیشتر در مورد استراتژی‌های موجود، بخش "استراتژی‌های ادغام یادداشت‌ها" در \fBgit-notes\fR(1) را ببینید\&. .RE .PP \fBnotes\&.displayRef\fR .RS 4 کدام ارجاع (یا ارجاع‌ها، اگر یک الگو باشد یا بیش از یک بار مشخص شود)، علاوه بر ارجاع پیش‌فرض تنظیم‌شده توسط \fBcore\&.notesRef\fR یا \fBGIT_NOTES_REF\fR، هنگام نمایش پیام‌های کامیت با خانواده دستورات \fBgit\fR \fBlog\fR برای خواندن یادداشت‌ها استفاده شود\&. .sp این تنظیم را می‌توان با متغیر محیطی \fBGIT_NOTES_DISPLAY_REF\fR بازنویسی کرد، که باید فهرستی از ارجاعات یا الگوها باشد که با دونقطه (:) از هم جدا شده‌اند\&. .sp برای ارجاعاتی که وجود ندارند هشداری صادر می‌شود، اما الگویی که با هیچ ارجاعی مطابقت ندارد بی‌صدا نادیده گرفته می‌شود\&. .sp این تنظیم را می‌توان با گزینه \fB\-\-\no\-notes\fR در خانواده دستورات \fBgit-log\fR(1) یا با گزینه \fB\-\-\notes=\fR\fI\fR پذیرفته‌شده توسط آن دستورات غیرفعال کرد\&. .sp مقدار مؤثر \fBcore\&.notesRef\fR (که احتمالاً توسط \fBGIT_NOTES_REF\fR بازنویسی شده است) نیز به‌طور ضمنی به فهرست ارجاعات نمایشی اضافه می‌شود\&. .RE .PP \fBnotes\&.rewrite\&.\fR\fI\fR .RS 4 هنگام بازنویسی کامیت‌ها با \fI\fR (در حال حاضر \fBamend\fR یا \fBrebase\fR)، اگر این متغیر \fBfalse\fR باشد، git یادداشت‌ها را از کامیت اصلی به کامیت بازنویسی‌شده کپی نخواهد کرد\&. مقدار پیش‌فرض \fBtrue\fR است\&. همچنین \fBnotes\&.rewriteRef\fR را در زیر ببینید\&. .sp این تنظیم را می‌توان با متغیر محیطی \fBGIT_NOTES_REWRITE_REF\fR بازنویسی کرد، که باید فهرستی از ارجاعات یا الگوهای جداشده با دونقطه باشد\&. .RE .PP \fBnotes\&.rewriteMode\fR .RS 4 هنگام کپی یادداشت‌ها در حین بازنویسی (گزینه \fBnotes\&.rewrite\&.\fR\fI\fR را ببینید)، تعیین می‌کند اگر کامیت مقصد از قبل یادداشتی داشته باشد چه اقدامی انجام شود\&. باید یکی از موارد \fBoverwrite\fR، \fBconcatenate\fR، \fBcat_sort_uniq\fR یا \fBignore\fR باشد\&. مقدار پیش‌فرض \fBconcatenate\fR است\&. .sp این تنظیم را می‌توان با متغیر محیطی \fBGIT_NOTES_REWRITE_MODE\fR بازنویسی کرد\&. .RE .PP \fBnotes\&.rewriteRef\fR .RS 4 هنگام کپی یادداشت‌ها در حین بازنویسی، ارجاع کامل (واجد شرایط) را مشخص می‌کند که یادداشت‌های آن باید کپی شوند\&. می‌تواند یک الگو (glob) باشد که در این صورت یادداشت‌ها در تمام ارجاعات منطبق کپی خواهند شد\&. همچنین می‌توانید این پیکربندی را چندین بار مشخص کنید\&. .sp مقدار پیش‌فرض ندارد؛ شما باید این متغیر را برای فعال‌سازی بازنویسی یادداشت‌ها پیکربندی کنید\&. برای فعال‌سازی بازنویسی یادداشت‌های پیش‌فرض کامیت، آن را روی \fBrefs/notes/commits\fR تنظیم کنید\&. .sp می‌تواند با متغیر محیطی \fBGIT_NOTES_REWRITE_REF\fR بازنویسی شود\&. برای شرح بیشتر قالب آن، \fBnotes\&.rewrite\&.\fR\fI\fR را در بالا ببینید\&. .RE .SH "محیط (ENVIRONMENT)" .PP \fBGIT_NOTES_REF\fR .RS 4 کدام ارجاع برای دستکاری یادداشت‌ها به‌جای \fBrefs/notes/commits\fR استفاده شود\&. این تنظیم بر \fBcore\&.notesRef\fR غلبه می‌کند\&. .RE .PP \fBGIT_NOTES_DISPLAY_REF\fR .RS 4 فهرست جداشده با دونقطه از ارجاعات یا الگوهایی که مشخص می‌کند علاوه بر پیش‌فرض از \fBcore\&.notesRef\fR یا \fBGIT_NOTES_REF\fR، هنگام نمایش پیام‌های کامیت یادداشت‌ها از کدام ارجاعات خوانده شوند\&. این بر تنظیم \fBnotes\&.displayRef\fR غلبه می‌کند\&. .sp برای ارجاعاتی که وجود ندارند هشداری صادر می‌شود، اما الگویی که با هیچ ارجاعی مطابقت ندارد بی‌صدا نادیده گرفته می‌شود\&. .RE .PP \fBGIT_NOTES_REWRITE_MODE\fR .RS 4 هنگام کپی یادداشت‌ها حین بازنویسی، در صورتی که کامیت مقصد از قبل یادداشت داشته باشد چه کاری انجام شود\&. باید یکی از موارد \fBoverwrite\fR، \fBconcatenate\fR، \fBcat_sort_uniq\fR یا \fBignore\fR باشد\&. این بر تنظیم \fBcore\&.rewriteMode\fR غلبه می‌کند\&. .RE .PP \fBGIT_NOTES_REWRITE_REF\fR .RS 4 هنگام بازنویسی کامیت‌ها، کدام یادداشت‌ها از کامیت اصلی به کامیت بازنویسی‌شده کپی شوند\&. باید فهرستی از ارجاعات یا الگوهای جداشده با دونقطه باشد\&. .sp در صورت عدم تنظیم در محیط، فهرست یادداشت‌های کپی‌شونده به تنظیمات \fBnotes\&.rewrite\&.\fR\fI\fR و \fBnotes\&.rewriteRef\fR بستگی دارد\&. .RE .SH "گیت (GIT)" .sp بخشی از مجموعه \fBgit\fR(1) .SH "نکات (NOTES)" .IP " 1." 4 نام‌های مسیر مجاز دارای فرمت \fIbf\fR\fB/\fR\fIfe\fR\fB/\fR\fI30\fR\fB/\fR\fI\&...\fR\fB/\fR\fI680d5a\&...\fR هستند: توالی از نام‌های دایرکتوری با دو رقم هگزادسیمال که در ادامه نام فایلی با بقیه شناسه شیء (Object ID) قرار دارد.