'\" t .\" Title: git-send-pack .\" 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\-SEND\-PACK" "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-send-pack \- ارسال اشیای بسته‌بندی‌شده از طریق پروتکل گیت به مخزن دیگر .SH "خلاصه دستور (SYNOPSIS)" .sp .nf \fIgit send\-pack\fR [\-\-mirror] [\-\-dry\-run] [\-\-force] [\-\-receive\-pack=] [\-\-verbose] [\-\-thin] [\-\-atomic] [\-\-[no\-]signed | \-\-signed=(true|false|if\-asked)] [:] (\-\-all | \&...) .fi .sp .SH "توضیحات (DESCRIPTION)" .sp معمولاً ترجیح می‌دهید به جای این دستور از \fIgit push\fR استفاده کنید، که یک پوشش سطح‌بالاتر برای این دستور است\&. \fBgit-push\fR(1) را ببینید\&. .sp دستور \fIgit\-receive\-pack\fR را روی یک مخزن (که احتمالاً دوردست است) فراخوانی می‌کند و آن را با ارسال ارجاع‌های مشخص‌شده، از روی مخزن فعلی به‌روزرسانی می‌نماید\&. .SH "گزینه‌ها (OPTIONS)" .PP \-\-receive\-pack= .RS 4 مسیر برنامه \fIgit\-receive\-pack\fR در سمت دوردست\&. گاهی هنگام ارسال به یک مخزن دوردست از طریق ssh و زمانی که برنامه در دایرکتوری‌های موجود در متغیر پیش‌فرض $PATH قرار ندارد مفید است\&. .RE .PP \-\-exec= .RS 4 مشابه \-\-receive\-pack=\&. .RE .PP \-\-all .RS 4 به‌جای مشخص کردن صریح ارجاع‌هایی که باید به‌روزرسانی شوند، تمام headهای موجود در سمت محلی را به‌روزرسانی می‌کند\&. .RE .PP \-\-stdin .RS 4 فهرست ارجاع‌ها را از ورودی استاندارد (stdin)، هر کدام در یک خط دریافت می‌کند\&. اگر علاوه بر این گزینه، ارجاع‌هایی در خط فرمان نیز مشخص شده باشند، ارجاع‌های دریافتی از stdin پس از ارجاع‌های خط فرمان پردازش می‌شوند\&. .sp اگر \fB\-\-stateless\-rpc\fR همراه با این گزینه مشخص شده باشد، فهرست ارجاع‌ها باید در قالب بسته‌ای (pkt\-line) باشد\&. هر ارجاع باید در یک بسته جداگانه قرار گیرد و فهرست باید با یک بسته flush خاتمه یابد\&. .RE .PP \-\-dry\-run .RS 4 همه کارها را به جز ارسال واقعی به‌روزرسانی‌ها انجام می‌دهد\&. .RE .PP \-\-force .RS 4 به‌طور معمول، این دستور از به‌روزرسانی ارجاع دوردستی که نیای (ancestor) ارجاع محلیِ استفاده‌شده برای بازنویسی آن نیست، خودداری می‌کند\&. این پرچم این بررسی را غیرفعال می‌سازد\&. این بدان معناست که ممکن است مخزن دوردست کامیت‌هایی را از دست بدهد؛ با احتیاط از آن استفاده کنید\&. .RE .PP \-\-verbose .RS 4 اجرا با نمایش جزئیات کامل\&. .RE .PP \-\-thin .RS 4 ارسال یک بسته «کم‌حجم» (thin pack)، که برای کاهش ترافیک شبکه، اشیا را بر پایه اشیایی که در بسته گنجانده نشده‌اند به‌صورت تفاضلی (deltified) ثبت می‌کند\&. .RE .PP \-\-atomic .RS 4 استفاده از یک تراکنش اتمیک (تجزیه‌ناپذیر) برای به‌روزرسانی ارجاع‌ها\&. در صورتی که به‌روزرسانی هر یک از ارجاع‌ها با شکست مواجه شود، کل عملیات ارسال شکست خواهد خورد بدون اینکه تغییری در هیچ‌یک از ارجاع‌ها ایجاد شود\&. .RE .PP \-\-signed, \-\-no\-signed, \-\-signed=(true|false|if\-asked) .RS 4 امضای دیجیتال درخواست ارسال با GPG برای به‌روزرسانی ارجاع‌ها در سمت گیرنده، تا امکان بررسی آن توسط قلاب‌ها (hooks) و/یا ثبت در لاگ فراهم شود\&. اگر برابر با \fBfalse\fR یا \fB\-\-no\-signed\fR باشد، هیچ امضایی انجام نخواهد شد\&. اگر برابر با \fBtrue\fR یا \fB\-\-signed\fR باشد، در صورتی که سرور از ارسال‌های امضاشده پشتیبانی نکند، عملیات ارسال شکست می‌خورد\&. اگر بر روی \fBif\-asked\fR تنظیم شود، تنها در صورتی امضا می‌شود که سرور از ارسال‌های امضاشده پشتیبانی کند\&. همچنین در صورتی که فراخوانی واقعی به \fBgpg\fR \fB\-\-sign\fR با شکست مواجه شود، عملیات ارسال با خطا روبرو خواهد شد\&. برای جزئیات مربوط به سمت دریافت‌کننده به \fBgit-receive-pack\fR(1) مراجعه کنید\&. .RE .PP \-\-push\-option= .RS 4 رشته مشخص‌شده را به عنوان گزینه ارسال (push option) برای استفاده توسط قلاب‌ها در سمت سرور ارسال می‌کند\&. اگر سرور از گزینه‌های ارسال پشتیبانی نکند، با خطا متوقف می‌شود\&. برای جزئیات بیشتر به \fBgit-push\fR(1) و \fBgithooks\fR(5) مراجعه کنید\&. .RE .PP .RS 4 میزبان دوردستی که مخزن را در خود جای داده است\&. هنگامی که این بخش مشخص شود، \fIgit\-receive\-pack\fR از طریق ssh فراخوانی می‌شود\&. .RE .PP .RS 4 مخزنی که باید به‌روزرسانی شود\&. .RE .PP \&... .RS 4 ارجاع‌های دوردست برای به‌روزرسانی\&. .RE .SH "مشخص کردن ارجاع‌ها (SPECIFYING THE REFS)" .sp سه روش برای تعیین اینکه کدام ارجاع‌ها در سمت دوردست به‌روزرسانی شوند وجود دارد\&. .sp با پرچم \fB\-\-all\fR، تمام ارجاع‌هایی که به‌صورت محلی وجود دارند به سمت دوردست منتقل می‌شوند\&. در صورت استفاده از این پرچم، نمی‌توانید هیچ \fI\fR مشخصی را تعیین کنید\&. .sp بدون \fB\-\-all\fR و بدون هیچ \fI\fR، آن دسته از headهایی که هم در سمت محلی و هم در سمت دوردست وجود دارند، به‌روزرسانی می‌شوند\&. .sp هنگامی که یک یا چند \fI\fR به‌طور صریح مشخص شوند (چه در خط فرمان یا از طریق \fB\-\-stdin\fR)، می‌تواند یک الگوی منفرد یا جفتی از الگوها باشد که با دونقطه «:» از هم جدا شده‌اند (این بدان معناست که نام یک ارجاع نمی‌تواند شامل دونقطه باشد)\&. یک الگوی منفرد \fI\fR تنها فرم خلاصه‌شده‌ای برای \fI:\fR است\&. .sp هر جفت الگو از یک بخش مبدأ (قبل از دونقطه) و یک بخش مقصد (بعد از دونقطه) تشکیل شده است\&. ارجاعی که باید ارسال شود با یافتن موردی که با بخش مبدأ مطابقت دارد تعیین می‌شود، و این‌که به کجا ارسال شود با استفاده از بخش مقصد مشخص می‌گردد\&. قواعد به‌کاررفته برای مطابقت یک ارجاع همان قواعدی است که توسط \fIgit rev\-parse\fR برای تفکیک نام یک ارجاع نمادین استفاده می‌شود\&. \fBgit-rev-parse\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 .\} اگر با هیچ ارجاع دوردستی مطابقت نداشته باشد، در این صورت یکی از دو حالت زیر است: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} باید با "refs/" شروع شود؛ در این حالت، عیناً به عنوان مقصد استفاده می‌شود\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} == باشد و ارجاعی که با مطابقت دارد نباید در مجموعه ارجاع‌های دوردست وجود داشته باشد؛ ارجاعی که در سمت محلی با تطبیق داده شده به عنوان نام مقصد به کار می‌رود\&. .RE .RE .sp بدون گزینه \fB\-\-force\fR، ارجاع در سمت دوردست تنها در صورتی ذخیره می‌شود که وجود نداشته باشد، یا یک زیرمجموعه سره (یعنی یک نیا / ancestor) از باشد\&. این بررسی که تحت عنوان «بررسی جلوبردن سریع» (fast\-forward check) شناخته می‌شود، برای جلوگیری از بازنویسی تصادفی ارجاع دوردست و از دست رفتن کامیت‌های دیگران از آن انجام می‌گیرد\&. .sp با \fB\-\-force\fR، بررسی جلوبردن سریع برای تمام ارجاع‌ها غیرفعال می‌شود\&. .sp به‌صورت اختیاری، می‌توان پیشوند مثبت \fI+\fR را قبل از یک پارامتر قرار داد تا بررسی جلوبردن سریع تنها برای همان ارجاع غیرفعال شود\&. .SH "همچنین ببینید (SEE ALSO)" .sp \fBgit-receive-pack\fR(1)، \fBgit-push\fR(1) .SH "گیت (GIT)" .sp بخشی از مجموعه \fBgit\fR(1)