'\" t .\" Title: gitformat-bundle .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026-06-29 .\" Manual: راهنمای Git .\" Source: Git 2.55.0 .\" Language: Persian .\" .TH "GITFORMAT\-BUNDLE" "5" "2026\-06\-29" "Git 2\&.55\&.0" "راهنمای Git" .\" ----------------------------------------------------------------- .\" * 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)" gitformat-bundle \- ساختار و قالب فایل‌های بسته آرشیو (bundle) در گیت .SH "خلاصه دستور (SYNOPSIS)" .sp .nf *\&.bundle *\&.bdl .fi .sp .SH "توضیحات (DESCRIPTION)" .sp قالب باندل گیت (Git bundle format) ساختاری است که هم ارجاع‌ها (refs) و هم اشیاء گیت را بازنمایی و ذخیره می‌کند\&. یک باندل شامل یک سرایند (header) با قالبی مشابه \fBgit-show-ref\fR(1) است که به دنبال آن یک بسته با قالب *\&.pack قرار می‌گیرد\&. .sp این قالب توسط دستور \fBgit-bundle\fR(1) ایجاد و خوانده می‌شود و برای نمونه توسط دستورات \fBgit-fetch\fR(1) و \fBgit-clone\fR(1) نیز پشتیبانی می‌گردد\&. .SH "قالب (FORMAT)" .sp ما از نشانه‌گذاری ABNF برای تعریف قالب باندل گیت استفاده می‌کنیم\&. برای جزئیات به \fBgitprotocol-common\fR(5) مراجعه کنید\&. .sp یک باندل نسخه ۲ (v2) به شکل زیر است: .sp .if n \{\ .RS 4 .\} .nf bundle = signature *prerequisite *reference LF pack signature = "# v2 git bundle" LF prerequisite = "\-" obj\-id SP comment LF comment = *CHAR reference = obj\-id SP refname LF pack = \&.\&.\&. ; packfile .fi .if n \{\ .RE .\} .sp .sp یک باندل نسخه ۳ (v3) به این صورت است: .sp .if n \{\ .RS 4 .\} .nf bundle = signature *capability *prerequisite *reference LF pack signature = "# v3 git bundle" LF capability = "@" key ["=" value] LF prerequisite = "\-" obj\-id SP comment LF comment = *CHAR reference = obj\-id SP refname LF key = 1*(ALPHA / DIGIT / "\-") value = *(%01\-09 / %0b\-FF) pack = \&.\&.\&. ; packfile .fi .if n \{\ .RE .\} .sp .SH "معناشناسی (SEMANTICS)" .sp یک باندل گیت از چندین بخش تشکیل شده است\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} «قابلیت‌ها» (Capabilities)، که فقط در قالب نسخه ۳ وجود دارند، عملکردهایی را نشان می‌دهند که باندل برای خوانده شدن صحیح به آن‌ها نیاز دارد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} «پیش‌نیازها» (Prerequisites) اشیائی را فهرست می‌کنند که در باندل گنجانده نشده‌اند و خواننده باندل برای استفاده از داده‌های داخل باندل، الزاماً باید از قبل آن‌ها را داشته باشد\&. اشیاء ذخیره‌شده در باندل ممکن است به اشیاء پیش‌نیاز و هر آنچه از طریق آن‌ها در دسترس است ارجاع دهند (برای نمونه یک شیء درخت در باندل می‌تواند به یک blob ارجاع دهد که از طریق یک پیش‌نیاز در دسترس است) یا به صورت دلتا بر مبنای اشیاء پیش‌نیاز بیان شوند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} «ارجاع‌ها» (References) رأس‌های گراف تاریخچه را ثبت می‌کنند؛ یعنی آنچه خواننده باندل می‌تواند از طریق «git fetch» از آن دریافت کند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} «بسته» (Pack) همان جریان داده‌های بسته‌ای است که دستور «git fetch» ارسال می‌کرد، اگر از مخزنی با ارجاع‌های ثبت‌شده در بخش «ارجاع‌ها» به مخزنی با ارجاع‌هایی به اشیاء فهرست‌شده در بخش «پیش‌نیازها» دریافت (fetch) انجام می‌دادید\&. .RE .sp در قالب باندل، ممکن است یک توضیح (comment) به دنبال شناسه شیء (obj\-id) پیش‌نیاز بیاید\&. این تنها یک توضیح است و معنای خاصی ندارد\&. نویسنده باندل می‌تواند هر رشته‌ای را در اینجا قرار دهد\&. خواننده باندل باید این توضیح را نادیده بگیرد\&. .SS "نکته‌ای درباره کلون‌های کم‌عمق و باندل‌های گیت" .sp توجه داشته باشید که پیش‌نیازها نمایانگر مرز کلون کم‌عمق (shallow clone) نیستند\&. معناشناسی پیش‌نیازها و مرزهای کلون کم‌عمق متفاوت است و قالب نسخه ۲ باندل گیت نمی‌تواند یک مخزن کلون کم‌عمق را بازنمایی کند\&. .SH "قابلیت‌ها (CAPABILITIES)" .sp از آنجا که فرصتی برای مذاکره (negotiation) وجود ندارد، قابلیت‌های ناشناخته باعث لغو و توقف اجرای \fIgit bundle\fR می‌شوند\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBobject\-format\fR الگوریتم درهم‌سازی (هش) مورد استفاده را مشخص می‌کند و می‌تواند مقادیری مشابه با مقدار پیکربندی \fBextensions\&.objectFormat\fR بپذیرد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBfilter\fR یک فیلتر شیء را همانند گزینه \fB\-\-filter\fR در دستور \fBgit-rev-list\fR(1) مشخص می‌کند\&. فایل بسته حاصل پس از استخراج از باندل باید به عنوان یک فایل بسته \fB\&.promisor\fR نشانه‌گذاری شود\&. .RE .SH "گیت (GIT)" .sp بخشی از مجموعه \fBgit\fR(1)