'\" t
.\" Title: git-merge-file
.\" 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\-MERGE\-FILE" "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-merge-file \- اجرای یک ادغام سهطرفه روی فایلها
.SH "خلاصه دستور (SYNOPSIS)"
.sp
.nf
\fIgit merge\-file\fR [\-L [\-L [\-L ]]]
[\-\-ours|\-\-theirs|\-\-union] [\-p|\-\-stdout] [\-q|\-\-quiet] [\-\-marker\-size=]
[\-\-[no\-]diff3] [\-\-object\-id]
.fi
.sp
.SH "توضیحات (DESCRIPTION)"
.sp
با داشتن سه فایل \fI\fR، \fI\fR و \fI\fR، دستور \fIgit merge\-file\fR تمام تغییراتی را که از \fI\fR به \fI\fR منتهی شدهاند، در \fI\fR اعمال میکند\&. نتیجه به طور معمول در \fI\fR ذخیره میشود\&. دستور \fIgit merge\-file\fR برای ترکیب تغییرات جداگانه روی یک نسخه اصلی مفید است\&. فرض کنید \fI\fR نسخه اصلی است و هر دو فایل \fI\fR و \fI\fR تغییراتی روی \fI\fR هستند؛ در این حالت \fIgit merge\-file\fR هر دو دسته تغییرات را با یکدیگر ترکیب میکند\&.
.sp
اگر هر دو فایل \fI\fR و \fI\fR در بخش مشترکی از خطوط دارای تغییر باشند، یک تداخل (conflict) رخ میدهد\&. در صورت یافتن تداخل، \fIgit merge\-file\fR معمولاً یک هشدار چاپ میکند و تداخل را میان خطوطی شامل نشانگرهای <<<<<<< و >>>>>>> محصور مینماید\&. یک تداخل معمولی شبیه به این خواهد بود:
.sp
.if n \{\
.RS 4
.\}
.nf
<<<<<<< A
lines in file A
=======
lines in file B
>>>>>>> B
.fi
.if n \{\
.RE
.\}
.sp
در صورت وجود تداخل، کاربر باید نتیجه را ویرایش کرده و یکی از گزینهها را حذف کند\&. با این حال، زمانی که گزینهٔ \fB\-\-ours\fR، \fB\-\-theirs\fR یا \fB\-\-union\fR فعال باشد، این تداخلها به ترتیب به نفع خطوط \fI\fR، خطوط \fI\fR یا خطوط هر دو فایل حل میشوند\&. طول نشانگرهای تداخل را میتوان با گزینهٔ \fB\-\-marker\-size\fR مشخص کرد\&.
.sp
اگر \fB\-\-object\-id\fR مشخص شود، دقیقاً همان رفتار رخ میدهد، با این تفاوت که به جای مشخص کردن مواردی که باید به عنوان فایل ادغام شوند، آنها به عنوان فهرستی از شناسههای شیء (object IDs) که به blobها اشاره دارند مشخص میشوند\&.
.sp
مقدار خروج (exit value) این برنامه در صورت بروز خطا منفی است، و در غیر این صورت برابر با تعداد تداخلها خواهد بود (اگر تعداد تداخلها بیشتر از این مقدار باشد، به ۱۲۷ محدود میشود)\&. اگر ادغام بدون تداخل انجام شود، مقدار خروج ۰ است\&.
.sp
دستور \fIgit merge\-file\fR طوری طراحی شده است که یک همتای کمینه از \fImerge\fR در RCS باشد؛ یعنی تمام قابلیتهای \fImerge\fR در RCS را که توسط \fBgit\fR(1) مورد نیاز است پیادهسازی میکند\&.
.SH "گزینهها (OPTIONS)"
.PP
\-\-object\-id
.RS 4
محتویاتی که باید ادغام شوند را به جای فایل، به عنوان blob در مخزن فعلی مشخص میکند\&. در این حالت، عملیات باید درون یک مخزن معتبر انجام شود\&.
.sp
اگر گزینهٔ
\fB\-p\fR
مشخص شده باشد، فایل ادغامشده (از جمله تداخلها، در صورت وجود) مانند حالت عادی به خروجی استاندارد ارسال میشود؛ در غیر این صورت، فایل ادغامشده در مخزن اشیاء (object store) نوشته شده و شناسه شیء (object ID) مربوط به blob آن در خروجی استاندارد نوشته میشود\&.
.RE
.PP
\-L