'\" t .\" Title: git-upload-pack .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026-06-29 .\" Manual: دستورات عمومی کاربر .\" Source: Git 2.55.0 .\" Language: Persian .\" .TH "GIT\-UPLOAD\-PACK" "1" "2026\-06\-29" "Git 2\&.55\&.0" "دستورات عمومی کاربر" .\" ----------------------------------------------------------------- .\" * 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-upload-pack \- ارسال اشیاء بسته‌بندی‌شده در پاسخ به git\-fetch\-pack .SH "خلاصه دستور (SYNOPSIS)" .sp .nf \fIgit\-upload\-pack\fR [\-\-[no\-]strict] [\-\-timeout=] [\-\-stateless\-rpc] [\-\-advertise\-refs] .fi .sp .SH "توضیحات (DESCRIPTION)" .sp توسط \fIgit fetch\-pack\fR فراخوانی می‌شود، بررسی می‌کند که طرف مقابل چه اشیائی را کم دارد، و پس از بسته‌بندی آن‌ها را ارسال می‌کند\&. .sp این دستور معمولاً مستقیماً توسط کاربر نهایی فراخوانی نمی‌شود\&. رابط کاربری این پروتکل در سمت \fIgit fetch\-pack\fR قرار دارد و این جفت برنامه برای دریافت به‌روزرسانی‌ها از یک مخزن دوردست استفاده می‌شوند\&. برای عملیات ارسال (push)، \fIgit send\-pack\fR را ببینید\&. .SH "گزینه‌ها (OPTIONS)" .PP \-\-strict, \-\-no\-strict .RS 4 اگر یک دایرکتوری گیت نباشد، /\&.git/ را امتحان نکن\&. .RE .PP \-\-timeout= .RS 4 قطع انتقال پس از ثانیه عدم فعالیت\&. .RE .PP \-\-stateless\-rpc .RS 4 تنها یک چرخه خواندن\-نوشتن را با stdin و stdout انجام بده\&. این با مدل پردازش درخواست HTTP POST سازگار است که در آن برنامه ممکن است درخواست را بخواند، پاسخ را بنویسد، و باید خارج شود\&. .RE .PP \-\-http\-backend\-info\-refs .RS 4 توسط \fBgit-http-backend\fR(1) برای پاسخ به درخواست‌های \fB$GIT_URL/info/refs\fR?service=git\-upload\-pack به کار می‌رود\&. بخش «Smart Clients» در \fBgitprotocol-http\fR(5) و «HTTP Transport» در مستندات \fBgitprotocol-v2\fR(5) را ببینید\&. همچنین توسط \fBgit-receive-pack\fR(1) شناخته می‌شود\&. .RE .PP .RS 4 مخزنی که همگام‌سازی از آن انجام می‌شود\&. .RE .SH "متغیرهای محیطی (ENVIRONMENT)" .PP \fBGIT_PROTOCOL\fR .RS 4 متغیر داخلی مورد استفاده برای دست‌تکانی (handshaking) پروتکل مخابره‌ای\&. مدیران سرور ممکن است نیاز داشته باشند برخی شیوه‌های انتقال را طوری پیکربندی کنند که این متغیر اجازه عبور داشته باشد\&. توضیحات مربوطه را در \fBgit\fR(1) ببینید\&. .RE .PP \fBGIT_NO_LAZY_FETCH\fR .RS 4 هنگام کلون کردن یا واکشی از یک مخزن جزئی (یعنی مخزنی که خود با \fB\-\-filter\fR کلون شده است)، ممکن است برنامه سمت سرور \fBupload\-pack\fR نیاز داشته باشد اشیاء اضافه‌ای را از بالادست خود واکشی کند تا درخواست را تکمیل نماید\&. به‌طور پیش‌فرض، \fBupload\-pack\fR از انجام چنین واکشی تنبلانه‌ای (lazy fetch) خودداری می‌کند، زیرا \fBgit\fR \fBfetch\fR ممکن است دستورات دلخواهی را که در پیکربندی و قلاب‌های (hooks) مخزن مبدأ مشخص شده‌اند اجرا کند (و \fBupload\-pack\fR تلاش می‌کند تا حتی در دایرکتوری‌های غیرقابل اعتماد \fB\&.git\fR نیز با امنیت اجرا شود)\&. .sp این رفتار با تنظیم داخلی متغیر \fBGIT_NO_LAZY_FETCH\fR روی مقدار \fB1\fR توسط \fBupload\-pack\fR پیاده‌سازی شده است\&. اگر می‌خواهید این رفتار را لغو کنید (زیرا در حال واکشی از یک کلون جزئی هستید و مطمئنید که به آن اعتماد دارید)، می‌توانید به‌طور صریح \fBGIT_NO_LAZY_FETCH\fR را روی \fB0\fR تنظیم کنید\&. .RE .SH "امنیت (SECURITY)" .sp بیشتر دستورات گیت نباید در یک دایرکتوری غیرقابل اعتماد \fB\&.git\fR اجرا شوند (بخش \fBSECURITY\fR در \fBgit\fR(1) را ببینید)\&. برنامه \fBupload\-pack\fR تلاش می‌کند تا از هرگونه گزینه پیکربندی خطرناک یا قلاب‌های مخزنی که به آن سرویس می‌دهد دوری کند، و کلون کردن یک دایرکتوری غیرقابل اعتماد و اجرای دستورات روی کلون حاصل را ایمن سازد\&. .sp برای سطح بالاتری از امنیت، ممکن است بتوانید \fBupload\-pack\fR را با یک کاربر جایگزین اجرا کنید\&. جزئیات به پلتفرم بستگی خواهد داشت، اما در بسیاری از سیستم‌ها می‌توانید اجرا کنید: .sp .if n \{\ .RS 4 .\} .nf git clone \-\-no\-local \-\-upload\-pack=\*(Aqsudo \-u nobody git\-upload\-pack\*(Aq \&.\&.\&. .fi .if n \{\ .RE .\} .SH "همچنین ببینید (SEE ALSO)" .sp \fBgitnamespaces\fR(7) .SH "گیت (GIT)" .sp بخشی از مجموعه \fBgit\fR(1)