'\" t .\" Title: git-lfs-merge-driver .\" Author: [see the "AUTHOR(S)" section] .\" Generator: Asciidoctor 2.0.26 .\" Manual: \ \& .\" Source: \ \& .\" Language: Persian .\" .TH "GIT\-LFS\-MERGE\-DRIVER" "1" "" "\ \&" "\ \&" .ie \n(.g .ds Aq \(aq .el .ds Aq ' .ss \n[.ss] 0 .nh .ad l .de URL \fI\\$2\fP <\\$1>\\$3 .. .als MTO URL .if \n[.g] \{\ . mso www.tmac . am URL . ad l . . . am MTO . ad l . . . LINKSTYLE blue R < > .\} .SH "نام (NAME)" git-lfs-merge-driver \- ادغام فایل‌های متنی Git LFS .SH "خلاصه دستور (SYNOPSIS)" .sp .nf .fam C \fBgit lfs merge\-driver\fP [\fIoptions\fP] .fam .fi .SH "توضیحات (DESCRIPTION)" .sp فایل‌های متنی ذخیره‌شده در Git LFS را با استفاده از سازوکار پیش‌فرض ادغام گیت، یا در صورت مشخص شدن، با یک درایور ادغام سفارشی ادغام می‌کند\&. توجه داشته باشید که این دستور به‌طور کلی از تغییر نام یا کپی‌های جزئی پشتیبانی نمی‌کند، زیرا گیت در این حالت از آن‌ها پشتیبانی نمی‌کند\&. .sp این برنامه به‌گونه‌ای طراحی شده است که به‌طور خودکار توسط گیت فراخوانی شود، نه به‌صورت دستی توسط کاربران\&. برای جزئیات مربوط به پیکربندی لازم جهت این کار، بخش پیکربندی (CONFIGURATION) را ببینید\&. .SH "گزینه‌ها (OPTIONS)" .sp \f(CR\-\-ancestor \fP .RS 4 فایلی را که شامل بازبینی نیا (ancestor revision) است مشخص می‌کند\&. .RE .sp \f(CR\-\-current \fP .RS 4 فایلی را که شامل بازبینی جاری (current revision) است مشخص می‌کند\&. .RE .sp \f(CR\-\-marker\-size \fP .RS 4 اندازهٔ نشانگر تعارض را به صورت یک عدد صحیح مشخص می‌کند\&. .RE .sp \f(CR\-\-other \fP .RS 4 فایلی را که شامل بازبینی دیگر (other revision) است مشخص می‌کند\&. .RE .sp \f(CR\-\-output\fP .RS 4 فایلی را مشخص می‌کند که خروجی ادغام‌شده در آن نوشته خواهد شد\&. .RE .sp \f(CR\-\-program \fP .RS 4 دستوری را مشخص می‌کند که پس از جای‌گذاری متغیرها به شل ارسال شده و عملیات ادغام واقعی را انجام می‌دهد\&. اگر این گزینه مشخص نشود، دستور \f(CRgit merge\-file\fP با آرگومان‌های مناسب جهت ادغام فایل فراخوانی می‌شود\&. .sp برای دنباله‌هایی که در اینجا جای‌گذاری می‌شوند، بخش پیکربندی (CONFIGURATION) را ببینید\&. .RE .SH "پیکربندی (CONFIGURATION)" .sp گیت بر اساس صفت \f(CRmerge\fP تعیین‌شده در \f(CR.gitattributes\fP، امکان استفاده از یک درایور ادغام سفارشی برای فایل‌ها را فراهم می‌کند\&. به‌طور پیش‌فرض، هنگام استفاده از \f(CRgit lfs track\fP، این مقدار روی \f(CRlfs\fP تنظیم می‌شود\&. .sp از آنجا که Git LFS می‌تواند هم برای ذخیرهٔ فایل‌های متنی و هم باینری استفاده شود و همواره مشخص نیست که کدام رفتار باید به کار گرفته شود، Git LFS این درایور ادغام را به‌طور پیش‌فرض فعال نمی‌کند\&. با این حال، اگر می‌دانید که برخی یا همهٔ فایل‌های شما فایل‌های متنی هستند، می‌توانید صفت \f(CRmerge\fP را برای آن فایل‌ها روی \f(CRlfs\-text\fP تنظیم کرده و با استفاده از \f(CRgit config\fP درایور ادغام را به این شکل پیکربندی کنید: .sp .if n .RS 4 .nf .fam C $ git config merge.lfs\-text.driver \*(Aqgit lfs merge\-driver \-\-ancestor %O \-\-current %A \-\-other %B \-\-marker\-size %L \-\-output %A\*(Aq .fam .fi .if n .RE .sp این دستور به گیت می‌گوید تا درایور ادغام سفارشی Git LFS را که به نوبهٔ خود از سازوکار ادغام گیت بهره می‌برد، برای ادغام فایل‌هایی که صفت \f(CRmerge\fP آن‌ها روی \f(CRlfs\-text\fP تنظیم شده است فراخوانی کند\&. توجه داشته باشید که \f(CRlfs\-text\fP در اینجا یک مثال است و هر مقدار معتبر از نظر نحوی می‌تواند استفاده شود\&. .sp اگر از نوع خاصی از فایل استفاده می‌کنید که به قوانینی متفاوت از سازوکار ادغام استاندارد گیت نیاز دارد، می‌توانید گزینهٔ \f(CR\-\-program\fP را نیز مشخص کنید که پس از جای‌گذاری نویسه‌های گریز درصدی خودش، به \f(CRsh\fP ارسال می‌شود: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CR%A\fP: نسخهٔ جاری .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CR%B\fP: نسخهٔ دیگر .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CR%D\fP: نسخهٔ مقصد (یعنی خروجی) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CR%O\fP: نسخهٔ نیا .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \f(CR%L\fP: اندازهٔ نشانگر تعارض .RE .sp توجه داشته باشید که علامت درصد معمولاً باید تکرار شود (دو بار نوشته شود) تا از جای‌گذاری مقادیر خود گیت در اینجا جلوگیری شود\&. بنابراین، مشخص کردن صریح رفتار پیش‌فرض به شکل زیر خواهد بود: .sp .if n .RS 4 .nf .fam C $ git config merge.lfs\-text.driver \(rs \*(Aqgit lfs merge\-driver \-\-ancestor %O \-\-current %A \-\-other %B \-\-marker\-size %L \-\-output %A \-\-program \*(Aq\(rs\*(Aq\*(Aqgit merge\-file \-\-stdout \-\-marker\-size=%%L %%A %%O %%B >%%D\*(Aq\(rs\*(Aq\*(Aq\*(Aq .fam .fi .if n .RE .sp وضعیت خروج (exit status) دستور سفارشی باید در صورت موفقیت صفر، و در صورت بروز تعارض یا سایر شکست‌ها غیرصفر باشد\&. .sp توجه داشته باشید که اگر هیچ درایور ادغامی برای مقدار صفت \f(CRmerge\fP مشخص نشده باشد (همان‌طور که به‌طور پیش‌فرض با \f(CRmerge=lfs\fP چنین است)، راهبرد پیش‌فرض ادغام گیت استفاده می‌شود\&. برای فایل‌های LFS، این بدان معناست که گیت تلاش خواهد کرد تا فایل‌های نشانگر (pointer files) را ادغام کند، که معمولاً مفید نیست\&. .SH "همچنین ببینید (SEE ALSO)" .sp git\-merge(1), git\-merge\-file(1), gitattributes(5) .sp بخشی از مجموعهٔ git\-lfs(1)\&.