'\" t .\" Title: gitmailmap .\" 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 "GITMAILMAP" "5" "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)" gitmailmap \- نگاشت نام‌ها و نشانی‌های ایمیل نویسنده/ثبت‌کننده در گیت .SH "خلاصه دستور (SYNOPSIS)" .sp $GIT_WORK_TREE/\&.mailmap .SH "توضیحات (DESCRIPTION)" .sp اگر فایل \fB\&.mailmap\fR در بالاترین سطح دایرکتوری مخزن یا در مکانی که گزینه‌های پیکربندی \fBmailmap\&.file\fR یا \fBmailmap\&.blob\fR به آن اشاره می‌کنند وجود داشته باشد (نگاه کنید به \fBgit-config\fR(1))، برای نگاشت نام‌ها و نشانی‌های ایمیل پدیدآورنده و ثبت‌کننده به نام‌های واقعی و نشانی‌های ایمیل استاندارد استفاده می‌شود\&. .SH "ساختار دستوری (SYNTAX)" .sp نویسه \fI#\fR آغازگر یک توضیح (کامنت) تا پایان سطر است؛ سطرهای خالی نادیده گرفته می‌شوند\&. .sp در حالت ساده، هر سطر در این فایل شامل نام واقعی و معیار یک نویسنده، فاصله خالی، و نشانی ایمیل استفاده‌شده در کامیت (محصور در \fI<\fR و \fI>\fR) است تا به آن نام نگاشت شود\&. برای نمونه: .sp .if n \{\ .RS 4 .\} .nf Proper Name .fi .if n \{\ .RE .\} .sp شکل‌های پیچیده‌تر عبارتند از: .sp .if n \{\ .RS 4 .\} .nf .fi .if n \{\ .RE .\} .sp که به mailmap امکان می‌دهد فقط بخش ایمیل یک کامیت را جایگزین کند، و: .sp .if n \{\ .RS 4 .\} .nf Proper Name .fi .if n \{\ .RE .\} .sp که به mailmap اجازه می‌دهد هم نام و هم ایمیل یک کامیت را که با نشانی ایمیل کامیت مشخص‌شده مطابقت دارد جایگزین کند، و: .sp .if n \{\ .RS 4 .\} .nf Proper Name Commit Name .fi .if n \{\ .RE .\} .sp که به mailmap اجازه می‌دهد هم نام و هم ایمیل یک کامیت را که با هر دو مقدار مشخص‌شده یعنی نام کامیت و نشانی ایمیل مطابقت دارد جایگزین کند\&. .sp تطبیق ایمیل‌ها و نام‌ها بدون حساسیت به حروف بزرگ و کوچک (case\-insensitively) انجام می‌شود\&. برای مثال این الگو نیز با \fICommit Name \fR بالا مطابقت خواهد داشت: .sp .if n \{\ .RS 4 .\} .nf Proper Name CoMmIt NaMe .fi .if n \{\ .RE .\} .SH "نکات (NOTES)" .sp گیت هنگام دسترسی به فایل \fB\&.mailmap\fR در درخت کاری، پیوندهای نمادین را دنبال نمی‌کند\&. این امر رفتار سیستم را هنگام دسترسی به فایل از ایندکس یا درخت در مقایسه با فایل‌سیستم یکدست نگه می‌دارد\&. .SH "مثال‌ها (EXAMPLES)" .sp تاریخچه پروژه شما شامل کامیت‌هایی از دو نویسنده، Jane و Joe، است که نام‌هایشان با اشکال مختلفی در مخزن ظاهر شده است: .sp .if n \{\ .RS 4 .\} .nf Joe Developer Joe R\&. Developer Jane Doe Jane Doe Jane D\&. .fi .if n \{\ .RE .\} .sp .sp اکنون فرض کنید که Joe می‌خواهد از حرف اول نام میانی‌اش استفاده شود، و Jane ترجیح می‌دهد نام خانوادگی‌اش به طور کامل درج گردد\&. یک فایل \fB\&.mailmap\fR برای تصحیح نام‌ها به این صورت خواهد بود: .sp .if n \{\ .RS 4 .\} .nf Joe R\&. Developer Jane Doe Jane Doe .fi .if n \{\ .RE .\} .sp .sp توجه داشته باشید که برای تصحیح صرف نام‌ها نیازی به نگاشت نام برای \fI\fR نیست\&. با این حال، رها کردن ایمیل‌های آشکارا ناقص \fI\fR و \fI\fR به همان شکل معمولاً مطلوب نیست\&. فایل \fB\&.mailmap\fR که آن‌ها را نیز اصلاح می‌کند به این صورت است: .sp .if n \{\ .RS 4 .\} .nf Joe R\&. Developer Jane Doe Jane Doe .fi .if n \{\ .RE .\} .sp .sp در نهایت، فرض کنید که Joe و Jane دارای یک نشانی ایمیل مشترک بودند اما نام یکسانی نداشتند، به عنوان مثال این دو کامیت در تاریخچه توسط یک سامانه گزارش باگ ایجاد شده باشند؛ یعنی نام‌ها در تاریخچه به صورت زیر ثبت شده باشند: .sp .if n \{\ .RS 4 .\} .nf Joe Jane .fi .if n \{\ .RE .\} .sp .sp یک فایل کامل \fB\&.mailmap\fR که این موارد را نیز مدیریت کند (افزودن دو سطر به مثال بالا) چنین خواهد بود: .sp .if n \{\ .RS 4 .\} .nf Joe R\&. Developer Jane Doe Jane Doe Joe R\&. Developer Joe Jane Doe Jane .fi .if n \{\ .RE .\} .sp .SH "همچنین ببینید (SEE ALSO)" .sp \fBgit-check-mailmap\fR(1) .SH "گیت (GIT)" .sp بخشی از مجموعه \fBgit\fR(1)