'\" t .\" Title: git-index-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\-INDEX\-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-index-pack \- ساخت فایل ایندکس بسته برای یک فایل آرشیو بسته موجود .SH "خلاصه دستور (SYNOPSIS)" .sp .nf \fIgit index\-pack\fR [\-v] [\-o ] [\-\-[no\-]rev\-index] \fIgit index\-pack\fR \-\-stdin [\-\-fix\-thin] [\-\-keep] [\-v] [\-o ] [\-\-[no\-]rev\-index] [] .fi .sp .SH "توضیحات (DESCRIPTION)" .sp یک آرشیو بسته (\&.pack) را از فایل مشخص‌شده می‌خواند، یک فایل ایندکس بسته (\&.idx) برای آن می‌سازد، و به‌صورت اختیاری یک ایندکس معکوس (\&.rev) برای بسته مشخص‌شده می‌نویسد\&. آرشیو بسته، همراه با ایندکس بسته، سپس می‌تواند در دایرکتوری objects/pack/ یک مخزن گیت قرار داده شود\&. .SH "گزینه‌ها (OPTIONS)" .PP \-v .RS 4 نمایش جزئیات درباره آنچه در حال انجام است، از جمله وضعیت پیشرفت کار\&. .RE .PP \-o .RS 4 ایندکس بسته تولیدشده را در فایل مشخص‌شده می‌نویسد\&. بدون این گزینه، نام فایل ایندکس بسته از نام فایل آرشیو بسته با جایگزین کردن \&.pack با \&.idx ساخته می‌شود (و اگر نام آرشیو بسته به \&.pack ختم نشود، برنامه با خطا مواجه خواهد شد)\&. .RE .PP \-\-rev\-index, \-\-no\-rev\-index .RS 4 هنگامی که این فلگ مشخص شود، یک ایندکس معکوس (یک فایل \fB\&.rev\fR) متناظر با بسته داده‌شده تولید می‌کند\&. اگر \fB\-\-verify\fR داده شود، از صحت ایندکس معکوس موجود اطمینان حاصل می‌کند\&. این گزینه بر \fBpack\&.writeReverseIndex\fR اولویت دارد\&. .RE .PP \-\-stdin .RS 4 هنگامی که این فلگ مشخص شود، بسته به‌جای آن از ورودی استاندارد (stdin) خوانده شده و سپس یک نسخه از آن در نوشته می‌شود\&. اگر مشخص نشده باشد، بسته با یک نام پیش‌فرض که از روی محتوای بسته تعیین می‌شود در دایرکتوری objects/pack/ مخزن جاری گیت نوشته خواهد شد\&. اگر مشخص نشده باشد، استفاده از \-\-keep را در نظر بگیرید تا از شرایط رقابتی (race condition) بین این فرآیند و \fIgit repack\fR جلوگیری شود\&. .RE .PP \-\-fix\-thin .RS 4 ترمیم یک بسته «باریک» (thin pack) تولیدشده توسط \fBgit\fR \fBpack\-objects\fR \fB\-\-thin\fR (برای جزئیات بیشتر به \fBgit-pack-objects\fR(1) مراجعه کنید) از طریق افزودن اشیاء حذف‌شده‌ای که اشیاء دلتا بر پایه آن‌ها هستند به بسته\&. این گزینه فقط در ترکیب با \-\-stdin کاربرد دارد\&. .RE .PP \-\-keep .RS 4 پیش از انتقال ایندکس به مقصد نهایی‌اش، یک فایل \&.keep خالی برای فایل بسته مرتبط ایجاد می‌کند\&. این گزینه معمولاً با \-\-stdin ضروری است تا از حذف بسته و ایندکس تازه‌ساخته‌شده توسط یک فرآیند همزمان \fIgit repack\fR پیش از اینکه ارجاع‌ها (refs) بتوانند برای استفاده از اشیاء موجود در بسته به‌روزرسانی شوند، جلوگیری کند\&. .RE .PP \-\-keep= .RS 4 مانند \-\-keep، پیش از انتقال ایندکس به مقصد نهایی یک فایل \&.keep ایجاد می‌کند\&. با این حال، به‌جای ایجاد یک فایل خالی، \fI\fR را به همراه یک خط جدید (LF) در فایل \&.keep قرار می‌دهد\&. پیام \fI\fR می‌تواند بعداً در تمام فایل‌های \&.keep جستجو شود تا مواردی را که کارایی خود را از دست داده‌اند شناسایی کند\&. .RE .PP \-\-index\-version=[,] .RS 4 این گزینه فقط برای استفاده در مجموعه آزمون‌ها در نظر گرفته شده است\&. این امکان را می‌دهد که نسخه ایندکس بسته تولیدشده را اجبار کنید، و مدخل‌های ۶۴ بیتی ایندکس را برای اشیاء واقع در بالاتر از آفست داده‌شده اجباری نمایید\&. .RE .PP \-\-strict[==\&...] .RS 4 خروج با خطا در صورتی که بسته حاوی اشیاء یا پیوندهای خراب باشد\&. یک فهرست اختیاری جداشده با کاما از \fI\fR\fB=\fR\fI\fR می‌تواند ارسال شود تا شدت برخی از مشکلات احتمالی را تغییر دهد، به عنوان مثال، \fB\-\-strict=\fR"missingEmail=ignore,badTagName=error"\&. برای اطلاعات بیشتر درباره مقادیر ممکن \fI\fR و \fI\fR به مدخل مربوط به گزینه‌های پیکربندی \fBfsck\&.\fR\fI\fR در \fBgit-fsck\fR(1) مراجعه کنید\&. .RE .PP \-\-progress\-title .RS 4 فقط برای استفاده داخلی\&. .sp عنوان نوار پیشرفت را تنظیم می‌کند\&. این عنوان به طور پیش‌فرض "Receiving objects" و هنگام مشخص شدن \fB\-\-stdin\fR برابر "Indexing objects" است\&. .RE .PP \-\-check\-self\-contained\-and\-connected .RS 4 خروج با خطا در صورتی که بسته حاوی پیوندهای خراب باشد\&. فقط برای استفاده داخلی\&. .RE .PP \-\-fsck\-objects[==\&...] .RS 4 خروج با خطا در صورتی که بسته حاوی اشیاء خراب باشد، اما بر خلاف \fB\-\-strict\fR، به دلیل پیوندهای خراب متوقف نمی‌شود\&. اگر بسته حاوی درختی باشد که به یک blob بنام \&.gitmodules که وجود ندارد اشاره می‌کند، هش آن blob را (برای بررسی توسط فراخواننده) پس از هشی که در نام فایل pack/idx قرار می‌گیرد چاپ می‌کند (بخش «نکات» را ببینید)\&. .sp یک فهرست اختیاری جداشده با کاما از \fI\fR\fB=\fR\fI\fR می‌تواند برای تغییر شدت برخی مشکلات احتمالی ارسال شود، به عنوان مثال، \fB\-\-fsck\-objects=\fR"missingEmail=ignore,badTagName=ignore"\&. برای اطلاعات بیشتر درباره مقادیر ممکن \fI\fR و \fI\fR به مدخل مربوط به گزینه‌های پیکربندی \fBfsck\&.\fR\fI\fR در \fBgit-fsck\fR(1) مراجعه کنید\&. .RE .PP \-\-threads= .RS 4 تعداد نخ‌ها را برای ایجاد هنگام حل دلتاها مشخص می‌کند\&. این نیاز دارد که index\-pack با pthreads کامپایل شده باشد، در غیر این صورت این گزینه با یک هشدار نادیده گرفته می‌شود\&. هدف از این گزینه کاهش زمان بسته‌بندی در ماشین‌های چندپردازنده‌ای است\&. با این حال، مقدار حافظه مورد نیاز برای پنجره جستجوی دلتا در تعداد نخ‌ها ضرب می‌شود\&. تعیین 0 باعث می‌شود گیت تعداد پردازنده‌ها را به‌طور خودکار تشخیص داده و حداکثر از ۳ نخ استفاده کند\&. .RE .PP \-\-max\-input\-size= .RS 4 خروج با خطا در صورتی که حجم بسته بزرگتر از باشد\&. .RE .PP \-\-object\-format= .RS 4 فرمت شیء مشخص‌شده (الگوریتم هش) را برای بسته تعیین می‌کند\&. مقادیر معتبر عبارتند از \fIsha1\fR و (در صورت فعال بودن) \fIsha256\fR\&. مقدار پیش‌فرض، الگوریتم مخزن فعلی است (تنظیم‌شده توسط \fBextensions\&.objectFormat\fR)، یا \fIsha1\fR اگر هیچ مقداری تنظیم نشده باشد یا خارج از یک مخزن باشد\&. .sp این گزینه نمی‌تواند همراه با \-\-stdin استفاده شود\&. .sp نکته: در حال حاضر هیچ‌گونه سازگاری متقابل میان مخازن SHA\-256 و مخازن SHA\-1 وجود ندارد\&. .RE .sp از نظر تاریخی، ما هشدار می‌دادیم که مخازن SHA\-256 ممکن است بعداً در زمان معرفی چنین ویژگی‌های تعامل‌پذیری به تغییرات ناسازگار با گذشته نیاز داشته باشند\&. امروزه، ما تنها انتظار تغییرات سازگار را داریم\&. علاوه بر این، در صورتی که چنین تغییراتی ضروری تشخیص داده شوند، می‌توان انتظار داشت که مخازن SHA\-256 ایجادشده با گیت امروزی توسط نسخه‌های آینده گیت بدون از دست رفتن داده‌ها قابل استفاده باشند\&. .PP \-\-promisor[=] .RS 4 پیش از ثبت نهایی ایندکس بسته، یک فایل \&.promisor برای این بسته ایجاد می‌کند\&. به‌ویژه هنگام نوشتن یک بسته promisor با \-\-fix\-thin مفید است زیرا نام بسته تا زمانی که بسته به طور کامل نوشته نشود نهایی نیست\&. اگر یک \fI\fR ارائه شود، آن محتوا برای مراجعات آینده در فایل \&.promisor نوشته خواهد شد\&. برای اطلاعات بیشتر به \m[blue]\fBpartial clone\fR\m[]\&\s-2\u[1]\d\s+2 مراجعه کنید\&. .sp همچنین، اگر اشیایی در بسته داده‌شده وجود داشته باشند که به اشیاء غیر promisor (در مخزن) ارجاع دهند، آن اشیاء غیر promisor را در یک بسته promisor بازبسته‌بندی می‌کند\&. این امر از وضعیتی که در آن یک مخزن دارای اشیاء غیر promisor باشد که از طریق اشیاء promisor قابل دسترسی هستند جلوگیری می‌کند\&. .sp نیازمند این است که مشخص نشود\&. .RE .SH "نکات (NOTES)" .sp پس از ایجاد ایندکس، هشی که در نام فایل pack/idx قرار می‌گیرد در stdout چاپ می‌شود\&. اگر از \-\-stdin نیز استفاده شده باشد، در این صورت پیشوند "pack\et" به آن اضافه می‌شود، یا اگر یک فایل \&.keep جدید با موفقیت ایجاد شده باشد پیشوند "keep\et" خواهد داشت\&. این برای حذف فایل \&.keep که به عنوان قفل برای جلوگیری از شرایط رقابتی با \fIgit repack\fR که پیش‌تر ذکر شد استفاده شده، مفید است\&. .SH "گیت (GIT)" .sp بخشی از مجموعه \fBgit\fR(1) .SH "یادداشت‌ها (NOTES)" .IP " 1." 4 partial clone .RS 4 \%file:///usr/share/doc/git-doc/technical/partial-clone.html .RE