GIT-HTTP-PUSH(1) Git Manual GIT-HTTP-PUSH(1)

git-http-push - ارسال اشیا از طریق HTTP/DAV به مخزنی دیگر

git http-push [--all] [--dry-run] [--force] [--verbose] <URL> <ref> [<ref>...]

اشیای ناموجود را به مخزن دوردست ارسال کرده و شاخه دوردست را به‌روزرسانی می‌کند.

نکته: اگر نسخه libcurl شما قدیمی‌تر از 7.16 باشد، این دستور به‌طور موقت غیرفعال است، زیرا گزارش شده که این ترکیب کار نمی‌کند و گاهی اوقات موجب خرابی مخزن می‌شود.

--all

وضعیت فعلی مخزن دوردست را کامل فرض نکنید، و بررسی کنید که تمامی اشیا در کل تاریخچه ارجاع محلی در مخزن دوردست وجود داشته باشند.

--force

به‌طور معمول، این دستور از به‌روزرسانی ارجاع دوردستی که نیای (ancestor) ارجاع محلیِ استفاده‌شده برای بازنویسی آن نیست، خودداری می‌کند. این پرچم این بررسی را غیرفعال می‌سازد. این بدان معناست که ممکن است مخزن دوردست کامیت‌هایی را از دست بدهد؛ با احتیاط از آن استفاده کنید.

--dry-run

همه کارها را به جز ارسال واقعی به‌روزرسانی‌ها انجام می‌دهد.

--verbose

فهرست اشیایی که به‌صورت محلی پیمایش می‌شوند و فهرست اشیایی که با موفقیت به مخزن دوردست ارسال شده‌اند را گزارش می‌دهد.

-d, -D

حذف <ref> از مخزن دوردست. شاخه مشخص‌شده نمی‌تواند HEAD دوردست باشد. اگر -d مشخص شود، شرایط زیر نیز باید برآورده شوند:
•ارجاع HEAD دوردست باید به شیئی منتهی شود که به‌صورت محلی وجود دارد
•شاخه مشخص‌شده به شیئی منتهی شود که به‌صورت محلی وجود دارد
•شاخه مشخص‌شده نیای HEAD دوردست باشد

<ref>...

ارجاع‌های دوردست برای به‌روزرسانی.

یک مشخصه <ref> می‌تواند یک الگوی منفرد یا جفتی از چنین الگوهایی باشد که با دونقطه «:» از هم جدا شده‌اند (این بدان معناست که نام یک ارجاع نمی‌تواند شامل دونقطه باشد). یک الگوی منفرد <name> تنها فرم خلاصه‌شده‌ای برای <name>:<name> است.

هر جفت الگو <src>:<dst> از بخش مبدأ (قبل از دونقطه) و بخش مقصد (بعد از دونقطه) تشکیل شده است. ارجاعی که باید ارسال شود با یافتن تطابقی با بخش مبدأ تعیین می‌گردد، و اینکه به کجا ارسال شود با استفاده از بخش مقصد مشخص می‌شود.

•اگر <src> دقیقاً با یکی از ارجاع‌های محلی مطابقت نداشته باشد، یک خطا محسوب می‌شود.
•اگر <dst> با هیچ ارجاع دوردستی مطابقت نداشته باشد، در این صورت یکی از دو حالت زیر برقرار است:
•باید با "refs/" شروع شود؛ در این حالت، <dst> عیناً به عنوان مقصد استفاده می‌شود.
•<src> == <dst> باشد و ارجاعی که با <src> مطابقت دارد نباید در مجموعه ارجاع‌های دوردست وجود داشته باشد؛ ارجاعی که در سمت محلی با <src> تطبیق داده شده به عنوان نام مقصد به کار می‌رود.

بدون گزینه --force، ارجاع <src> در سمت دوردست تنها در صورتی ذخیره می‌شود که <dst> وجود نداشته باشد، یا <dst> یک زیرمجموعه سره (یعنی یک نیا / ancestor) از <src> باشد. این بررسی، که تحت عنوان «بررسی جلوبردن سریع» (fast-forward check) شناخته می‌شود، برای جلوگیری از بازنویسی تصادفی ارجاع دوردست و از دست رفتن کامیت‌های دیگران انجام می‌گیرد.

با --force، بررسی جلوبردن سریع برای تمام ارجاع‌ها غیرفعال می‌شود.

به‌صورت اختیاری، می‌توان یک علامت مثبت + را به عنوان پیشوند به پارامتر <ref> اضافه کرد تا بررسی جلوبردن سریع تنها برای همان ارجاع غیرفعال شود.

git(1)، git-push(1)، git-http-backend(1)

بخشی از مجموعه git(1)

2026-06-29 Git 2.55.0