'\" t .\" Title: git-pack-refs .\" 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\-PACK\-REFS" "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-pack-refs \- بسته‌بندی سرشاخه‌ها و برچسب‌ها برای دسترسی کارآمدتر به مخزن .SH "خلاصه دستور (SYNOPSIS)" .sp .nf \fIgit pack\-refs\fR [\-\-all] [\-\-no\-prune] [\-\-auto] [\-\-include ] [\-\-exclude ] .fi .sp .SH "توضیحات (DESCRIPTION)" .sp به طور سنتی، نوک شاخه‌ها و برچسب‌ها (که در مجموع به عنوان \fIمرجع‌ها\fR یا \fIrefs\fR شناخته می‌شوند) به صورت یک فایل به ازای هر مرجع در یک (زیر)پوشه زیر مسیر \fB$GIT_DIR/refs\fR ذخیره می‌شدند\&. در حالی که نوک بسیاری از شاخه‌ها مکرراً به‌روزرسانی می‌شوند، اکثر برچسب‌ها و نوک برخی شاخه‌ها هرگز تغییر نمی‌کنند\&. هنگامی که یک مخزن صدها یا هزاران برچسب دارد، این قالب «یک فایل به ازای هر مرجع» هم فضای ذخیره‌سازی را هدر می‌دهد و هم کارایی سیستم را کاهش می‌دهد\&. .sp این دستور برای حل مشکل فضای ذخیره‌سازی و کارایی، از طریق ذخیره کردن مراجع در یک فایل واحد با نام \fB$GIT_DIR/packed\-refs\fR استفاده می‌شود\&. هنگامی که مرجعی در سلسله‌مراتب پوشه‌ای سنتی \fB$GIT_DIR/refs\fR یافت نشود، در این فایل جستجو شده و در صورت یافت شدن استفاده می‌شود\&. .sp به‌روزرسانی‌های بعدی شاخه‌ها همواره فایل‌های جدیدی در سلسله‌مراتب پوشه‌ای \fB$GIT_DIR/refs\fR ایجاد می‌کنند\&. .sp یک روش پیشنهادی برای کار با مخازنی که دارای مراجع بسیار زیادی هستند این است که یک بار مراجع آن را با \fB\-\-all\fR بسته‌بندی کنید و گهگاه دستور \fBgit\fR \fBpack\-refs\fR را اجرا نمایید\&. برچسب‌ها بنا به تعریف ایستا هستند و انتظار نمی‌رود تغییر کنند\&. سرشاخه‌ها با اجرای اولیه \fBpack\-refs\fR \fB\-\-all\fR بسته‌بندی می‌شوند، اما تنها سرشاخه‌هایی که هم‌اکنون فعال هستند از حالت بسته خارج خواهند شد و اجرای بعدی \fBpack\-refs\fR (بدون \fB\-\-all\fR) آن‌ها را بدون بسته‌بندی باقی می‌گذارد\&. .SH "گزینه‌ها (OPTIONS)" .PP \-\-all .RS 4 دستور به طور پیش‌فرض تمام برچسب‌ها و مراجعی را که پیش‌تر بسته‌بندی شده‌اند، بسته‌بندی کرده و سایر مراجع را دست‌نخورده باقی می‌گذارد\&. علت این است که شاخه‌ها معمولاً در حال توسعه فعال هستند و بسته‌بندی نوک آن‌ها کمکی به بهبود کارایی نمی‌کند\&. این گزینه باعث می‌شود تمامی مراجع، به استثنای مراجع پنهان، مراجع خراب و مراجع نمادین نیز بسته‌بندی شوند\&. برای مخازنی که شاخه‌های تاریخی متعددی دارند بسیار مفید است\&. .RE .PP \-\-no\-prune .RS 4 این دستور معمولاً مراجع منفرد را در سلسله‌مراتب \fB$GIT_DIR/refs\fR پس از بسته‌بندی حذف می‌کند\&. این گزینه به آن دستور می‌دهد که این کار را انجام ندهد\&. .RE .PP \-\-auto .RS 4 مراجع را در صورت نیاز و بر اساس وضعیت کنونی پایگاه‌داده مراجع بسته‌بندی می‌کند\&. این رفتار به قالب مراجع مورداستفاده در مخزن بستگی دارد و ممکن است در آینده تغییر کند\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} "files": مراجع منفرد بر اساس نسبت مراجع منفرد به حجم فایل \fBpacked\-refs\fR درون این فایل بسته‌بندی می‌شوند\&. هر چه فایل \fBpacked\-refs\fR بزرگ‌تر باشد، مراجع منفرد بیشتری باید وجود داشته باشند تا بازبسته‌بندی انجام شود\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} "reftable": جدول‌ها به گونه‌ای فشرده می‌شوند که یک تصاعد هندسی را تشکیل دهند\&. برای دو جدول N و N+1، که در آن N+1 جدیدتر است، این ویژگی حفظ می‌شود که N حداقل دو برابر بزرگ‌تر از N+1 باشد\&. تنها جدول‌هایی که این ویژگی را نقض کنند فشرده‌سازی می‌شوند\&. .RE .RE .PP \-\-include .RS 4 مراجع را بر اساس یک الگوی \fBglob\fR(\fB7\fR) بسته‌بندی می‌کند\&. تکرار این گزینه، الگوهای شمول را انباشته می‌کند\&. اگر مرجعی هم در \fB\-\-include\fR و هم در \fB\-\-exclude\fR آمده باشد، \fB\-\-exclude\fR اولویت دارد\&. استفاده از \fB\-\-include\fR به طور پیش‌فرض مانع از گنجاندن همه برچسب‌ها می‌شود\&. مراجع نمادین و مراجع خراب هرگز بسته‌بندی نخواهند شد\&. هنگامی که همراه با \fB\-\-all\fR استفاده شود، بی‌اثر خواهد بود\&. از \fB\-\-no\-include\fR برای پاک‌سازی و بازنشانی فهرست الگوها استفاده کنید\&. .RE .PP \-\-exclude .RS 4 مراجعی را که با الگوی \fBglob\fR(\fB7\fR) داده‌شده مطابقت دارند بسته‌بندی نمی‌کند\&. تکرار این گزینه، الگوهای عدم شمول را انباشته می‌کند\&. از \fB\-\-no\-exclude\fR برای پاک‌سازی و بازنشانی فهرست الگوها استفاده کنید\&. اگر مرجعی پیش‌تر بسته‌بندی شده باشد، ذکر آن در \fB\-\-exclude\fR باعث خروج آن از حالت بسته‌بندی نمی‌شود\&. .sp هنگامی که همراه با \fB\-\-all\fR استفاده شود، تنها مراجع منفردی را که با هیچ‌یک از الگوهای \fB\-\-exclude\fR ارائه‌شده تطبیق ندارند بسته‌بندی می‌کند\&. .sp هنگامی که همراه با \fB\-\-include\fR استفاده شود، مراجع ارائه‌شده به \fB\-\-include\fR منهای مراجعی که به \fB\-\-exclude\fR ارائه شده‌اند، بسته‌بندی خواهند شد\&. .RE .SH "اشکالات (BUGS)" .sp مستندات قدیمی‌تری که پیش از معرفی سازوکار packed\-refs نوشته شده‌اند، ممکن است همچنان عباراتی مانند "فایل \&.git/refs/heads/ وجود دارد" را زمانی به کار ببرند که منظورشان "شاخه وجود دارد" است\&. .SH "گیت (GIT)" .sp بخشی از مجموعه \fBgit\fR(1)