| GIT-SEND-PACK(1) | Git Manual | GIT-SEND-PACK(1) |
نام (NAME)
git-send-pack - ارسال اشیای بستهبندیشده از طریق پروتکل گیت به مخزن دیگر
خلاصه دستور (SYNOPSIS)
git send-pack [--mirror] [--dry-run] [--force]
[--receive-pack=<git-receive-pack>]
[--verbose] [--thin] [--atomic]
[--[no-]signed | --signed=(true|false|if-asked)]
[<host>:]<directory> (--all | <ref>...)
توضیحات (DESCRIPTION)
معمولاً ترجیح میدهید به جای این دستور از git push استفاده کنید، که یک پوشش سطحبالاتر برای این دستور است. git-push(1) را ببینید.
دستور git-receive-pack را روی یک مخزن (که احتمالاً دوردست است) فراخوانی میکند و آن را با ارسال ارجاعهای مشخصشده، از روی مخزن فعلی بهروزرسانی مینماید.
گزینهها (OPTIONS)
--receive-pack=<git-receive-pack>
--exec=<git-receive-pack>
--all
--stdin
اگر --stateless-rpc همراه با این گزینه مشخص شده باشد، فهرست ارجاعها باید در قالب بستهای (pkt-line) باشد. هر ارجاع باید در یک بسته جداگانه قرار گیرد و فهرست باید با یک بسته flush خاتمه یابد.
--dry-run
--force
--verbose
--thin
--atomic
--signed, --no-signed, --signed=(true|false|if-asked)
--push-option=<string>
<host>
<directory>
<ref>...
مشخص کردن ارجاعها (SPECIFYING THE REFS)
سه روش برای تعیین اینکه کدام ارجاعها در سمت دوردست بهروزرسانی شوند وجود دارد.
با پرچم --all، تمام ارجاعهایی که بهصورت محلی وجود دارند به سمت دوردست منتقل میشوند. در صورت استفاده از این پرچم، نمیتوانید هیچ <ref> مشخصی را تعیین کنید.
بدون --all و بدون هیچ <ref>، آن دسته از headهایی که هم در سمت محلی و هم در سمت دوردست وجود دارند، بهروزرسانی میشوند.
هنگامی که یک یا چند <ref> بهطور صریح مشخص شوند (چه در خط فرمان یا از طریق --stdin)، میتواند یک الگوی منفرد یا جفتی از الگوها باشد که با دونقطه «:» از هم جدا شدهاند (این بدان معناست که نام یک ارجاع نمیتواند شامل دونقطه باشد). یک الگوی منفرد <name> تنها فرم خلاصهشدهای برای <name>:<name> است.
هر جفت الگو از یک بخش مبدأ (قبل از دونقطه) و یک بخش مقصد (بعد از دونقطه) تشکیل شده است. ارجاعی که باید ارسال شود با یافتن موردی که با بخش مبدأ مطابقت دارد تعیین میشود، و اینکه به کجا ارسال شود با استفاده از بخش مقصد مشخص میگردد. قواعد بهکاررفته برای مطابقت یک ارجاع همان قواعدی است که توسط git rev-parse برای تفکیک نام یک ارجاع نمادین استفاده میشود. git-rev-parse(1) را ببینید.
بدون گزینه --force، ارجاع <src> در سمت دوردست تنها در صورتی ذخیره میشود که <dst> وجود نداشته باشد، یا <dst> یک زیرمجموعه سره (یعنی یک نیا / ancestor) از <src> باشد. این بررسی که تحت عنوان «بررسی جلوبردن سریع» (fast-forward check) شناخته میشود، برای جلوگیری از بازنویسی تصادفی ارجاع دوردست و از دست رفتن کامیتهای دیگران از آن انجام میگیرد.
با --force، بررسی جلوبردن سریع برای تمام ارجاعها غیرفعال میشود.
بهصورت اختیاری، میتوان پیشوند مثبت + را قبل از یک پارامتر <ref> قرار داد تا بررسی جلوبردن سریع تنها برای همان ارجاع غیرفعال شود.
همچنین ببینید (SEE ALSO)
گیت (GIT)
بخشی از مجموعه git(1)
| 2026-06-29 | Git 2.55.0 |