'\" t .\" Title: git-commit-graph .\" 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\-COMMIT\-GRAPH" "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-commit-graph \- نوشتن و اعتبارسنجی فایل‌های گراف کامیت گیت .SH "خلاصه دستور (SYNOPSIS)" .sp .nf \fIgit commit\-graph verify\fR [\-\-object\-dir ] [\-\-shallow] [\-\-[no\-]progress] \fIgit commit\-graph write\fR [\-\-object\-dir ] [\-\-append] [\-\-split[=]] [\-\-reachable | \-\-stdin\-packs | \-\-stdin\-commits] [\-\-changed\-paths] [\-\-[no\-]max\-new\-filters ] [\-\-[no\-]progress] .fi .sp .SH "توضیحات (DESCRIPTION)" .sp مدیریت فایل سریال‌سازی‌شده گراف کامیت (commit\-graph)\&. .SH "گزینه‌ها (OPTIONS)" .PP \-\-object\-dir .RS 4 استفاده از دایرکتوری داده‌شده برای مکان فایل‌های بسته (packfiles) و فایل commit\-graph\&. این پارامتر برای تعیین مکان یک مسیر جایگزین (alternate) به کار می‌رود که تنها دارای دایرکتوری اشیا (objects) است، نه یک دایرکتوری کامل \fB\&.git\fR\&. انتظار می‌رود فایل commit\-graph در دایرکتوری \fI\fR\fB/info\fR و فایل‌های pack در دایرکتوری \fI\fR\fB/pack\fR قرار داشته باشند\&. اگر دایرکتوری نتواند به یک مسیر مطلق تبدیل شود، یا با هیچ دایرکتوری شیء شناخته‌شده‌ای مطابقت نداشته باشد، \fBgit\fR \fBcommit\-graph\fR \&.\&.\&. با وضعیت غیر صفر خارج خواهد شد\&. .RE .PP \-\-progress, \-\-no\-progress .RS 4 روشن یا خاموش کردن صریح نمایش میزان پیشرفت\&. اگر هیچ‌کدام مشخص نشود، در صورتی که خروجی خطای استاندارد به یک ترمینال متصل باشد، میزان پیشرفت نشان داده می‌شود\&. .RE .SH "دستورها (COMMANDS)" .PP \fIwrite\fR .RS 4 نوشتن یک فایل commit\-graph بر اساس کامیت‌های یافت‌شده در فایل‌های pack\&. اگر گزینه پیکربندی \fBcore\&.commitGraph\fR غیرفعال باشد، این دستور یک هشدار صادر کرده و سپس بدون نوشتن فایل commit\-graph با وضعیت موفقیت‌آمیز برمی‌گردد\&. .sp با گزینه \fB\-\-stdin\-packs\fR، گراف کامیت جدید را فقط با پیمایش اشیا در نمایه‌های بسته (pack\-indexes) مشخص‌شده تولید می‌کند\&. (نمی‌تواند با \fB\-\-stdin\-commits\fR یا \fB\-\-reachable\fR ترکیب شود\&.) .sp با گزینه \fB\-\-stdin\-commits\fR، گراف کامیت جدید را با پیمایش کامیت‌ها از کامیت‌های مشخص‌شده در ورودی استاندارد (stdin) به صورت فهرستی از OIDها در مبنای شانزده (یک OID در هر خط) تولید می‌کند\&. OIDهایی که به غیرکامیت منتهی می‌شوند (خواه مستقیماً یا با باز کردن برچسب‌ها) بدون اعلام نادیده گرفته می‌شوند\&. OIDهایی که بدفرم بوده یا وجود ندارند، یک خطا ایجاد می‌کنند\&. (نمی‌تواند با \fB\-\-stdin\-packs\fR یا \fB\-\-reachable\fR ترکیب شود\&.) .sp با گزینه \fB\-\-reachable\fR، گراف کامیت جدید را با پیمایش کامیت‌ها از تمامی ارجاع‌ها (refs) تولید می‌کند\&. (نمی‌تواند با \fB\-\-stdin\-commits\fR یا \fB\-\-stdin\-packs\fR ترکیب شود\&.) .sp با گزینه \fB\-\-append\fR، تمام کامیت‌های موجود در فایل فعلی commit\-graph را شامل می‌شود\&. .sp با گزینه \fB\-\-changed\-paths\fR، اطلاعات مربوط به مسیرهای تغییر‌یافته بین یک کامیت و نخستین والد آن را محاسبه کرده و می‌نویسد\&. این عملیات در مخازن بزرگ ممکن است مدتی طول بکشد\&. این گزینه بهبود کارایی قابل‌توجهی برای دریافت تاریخچه یک دایرکتوری یا یک فایل با دستور \fBgit\fR \fBlog\fR \fB\-\-\fR \fI\fR فراهم می‌کند\&. اگر این گزینه داده شود، نوشتن‌های بعدی commit\-graph به طور خودکار فرض می‌کنند که این گزینه مد نظر بوده است\&. از گزینه \fB\-\-no\-changed\-paths\fR برای متوقف کردن ذخیره این داده‌ها استفاده کنید\&. گزینه \fB\-\-changed\-paths\fR به صورت ضمنی با پیکربندی \fBcommitGraph\&.changedPaths=true\fR فعال می‌شود\&. .sp با گزینه \fB\-\-max\-new\-filters=\fR\fI\fR، حداکثر \fBn\fR فیلتر بلوم جدید تولید می‌کند (در صورتی که \fB\-\-changed\-paths\fR مشخص شده باشد)\&. اگر \fBn\fR برابر با \fB\-1\fR باشد، هیچ محدودیتی اعمال نمی‌شود\&. فقط کامیت‌های موجود در لایه جدید در این محدودیت شمرده می‌شوند\&. برای محاسبه ماسبق فیلترهای بلوم روی لایه‌های پیشین، توصیه می‌شود از \fB\-\-split=replace\fR استفاده شود\&. بر پیکربندی \fBcommitGraph\&.maxNewFilters\fR اولویت دارد\&. .sp با گزینه \fB\-\-split\fR[\fB=\fR\fI\fR]، فایل commit\-graph را به صورت زنجیره‌ای از چندین فایل commit\-graph ذخیره‌شده در \fI\fR\fB/info/commit\-graphs\fR می‌نویسد\&. لایه‌های commit\-graph بر اساس راهبرد و سایر گزینه‌های تفکیک با یکدیگر ادغام می‌شوند\&. کامیت‌های جدیدی که از قبل در commit\-graph نیستند در یک فایل نوک (tip) جدید اضافه می‌شوند\&. این فایل در صورت برقراری شرایط ادغام زیر با فایل موجود ادغام می‌شود: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} اگر \fB\-\-split=no\-merge\fR مشخص شده باشد، ادغام هرگز انجام نمی‌شود و گزینه‌های باقی‌مانده نادیده گرفته می‌شوند\&. گزینه \fB\-\-split=replace\fR زنجیره موجود را با زنجیره جدید بازنویسی می‌کند\&. گزینه خالی \fB\-\-split\fR تصمیم‌گیری را به گزینه‌های باقی‌مانده واگذار می‌کند\&. (توجه داشته باشید که ادغام زنجیره‌ای از گراف‌های کامیت، زنجیره موجود را با یک زنجیره با طول ۱ جایگزین می‌کند که در آن، نخستین و تنها فایل افزایشی کل گراف را نگه می‌دارد)\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} اگر \fB\-\-size\-multiple=\fR\fI\fR مشخص نشده باشد، فرض کنید \fBX\fR برابر با ۲ است\&. اگر فایل tip جدید دارای \fBN\fR کامیت باشد و tip قبلی دارای \fBM\fR کامیت باشد و \fBX\fR برابر \fBN\fR بزرگتر از \fBM\fR باشد، آن‌گاه دو فایل را در یک فایل ادغام می‌کند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} اگر \fB\-\-max\-commits=\fR\fI\fR با \fBM\fR به عنوان یک عدد صحیح مثبت مشخص شده باشد، و فایل tip جدید بیش از \fBM\fR کامیت داشته باشد، آن‌گاه tip جدید را با tip قبلی ادغام می‌کند\&. .sp در نهایت، اگر \fB\-\-expire\-time=\fR\fI\fR مشخص نشده باشد، فرض کنید \fBdatetime\fR زمان فعلی باشد\&. پس از نوشتن گراف کامیت تفکیک‌شده (split commit\-graph)، تمامی commit\-graphهای استفاده‌نشده‌ای که زمان تغییر آن‌ها قدیمی‌تر از \fBdatetime\fR است را حذف می‌کند\&. .RE .RE .PP \fIverify\fR .RS 4 فایل commit\-graph را می‌خواند و محتویات آن را در برابر پایگاه داده اشیا (object database) اعتبارسنجی می‌کند\&. برای بررسی داده‌های آسیب‌دیده یا خراب به کار می‌رود\&. .sp با گزینه \fB\-\-shallow\fR، تنها فایل commit\-graph نوک (tip) را در زنجیره‌ای از commit\-graphهای تفکیک‌شده بررسی می‌کند\&. .RE .SH "مثال‌ها (EXAMPLES)" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} نوشتن یک فایل commit\-graph برای کامیت‌های بسته‌بندی‌شده در دایرکتوری محلی \fB\&.git\fR\&. .sp .if n \{\ .RS 4 .\} .nf $ git commit\-graph write .fi .if n \{\ .RE .\} .sp .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} نوشتن یک فایل commit\-graph و گسترش فایل فعلی commit\-graph با استفاده از کامیت‌های موجود در \fI\fR\&. .sp .if n \{\ .RS 4 .\} .nf $ echo | git commit\-graph write \-\-stdin\-packs .fi .if n \{\ .RE .\} .sp .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} نوشتن یک فایل commit\-graph شامل تمامی کامیت‌های قابل دستیابی (reachable)\&. .sp .if n \{\ .RS 4 .\} .nf $ git show\-ref \-s | git commit\-graph write \-\-stdin\-commits .fi .if n \{\ .RE .\} .sp .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} نوشتن یک فایل commit\-graph شامل تمامی کامیت‌های موجود در فایل فعلی commit\-graph همراه با کامیت‌های قابل دستیابی از \fBHEAD\fR\&. .sp .if n \{\ .RS 4 .\} .nf $ git rev\-parse HEAD | git commit\-graph write \-\-stdin\-commits \-\-append .fi .if n \{\ .RE .\} .sp .RE .SH "هشدارها (CAVEATS)" .sp وجود اشیای جایگزین (replace objects) یا پیوندهای کامیت (commit grafts) خواندن از یا نوشتن در commit\-graph را غیرفعال می‌کند\&. به \fBgit-replace\fR(1) مراجعه کنید\&. .SH "پیکربندی (CONFIGURATION)" .sp تمام موارد زیر این خط در این بخش به طور گزینشی از مستندات \fBgit-config\fR(1) گنجانده شده‌اند\&. محتوا همان چیزی است که در آن‌جا یافت می‌شود: .PP commitGraph\&.generationVersion .RS 4 نوع نسخه شماره نسل (generation number version) را برای استفاده در هنگام نوشتن یا خواندن فایل commit\-graph مشخص می‌کند\&. اگر نسخه ۱ مشخص شود، تاریخ‌های تصحیح‌شده کامیت نوشته یا خوانده نخواهند شد\&. مقدار پیش‌فرض ۲ است\&. .RE .PP commitGraph\&.maxNewFilters .RS 4 مقدار پیش‌فرض را برای گزینه \fB\-\-max\-new\-filters\fR در دستور \fBgit\fR \fBcommit\-graph\fR \fBwrite\fR مشخص می‌کند (نگاه کنید به \fBgit-commit-graph\fR(1))\&. .RE .PP commitGraph\&.changedPaths .RS 4 اگر true باشد، دستور \fBgit\fR \fBcommit\-graph\fR \fBwrite\fR به طور پیش‌فرض فیلترهای بلوم مسیرهای تغییر‌یافته را محاسبه کرده و می‌نویسد که معادل با ارسال \fB\-\-changed\-paths\fR است\&. اگر false یا تنظیم‌نشده باشد، فیلترهای بلوم مسیرهای تغییر‌یافته در حین اجرای \fBgit\fR \fBcommit\-graph\fR \fBwrite\fR تنها در صورتی نوشته می‌شوند که این فیلترها از قبل در فایل فعلی commit\-graph وجود داشته باشند\&. این مطابق با رفتار پیش‌فرض \fBgit\fR \fBcommit\-graph\fR \fBwrite\fR بدون هیچ گزینه \fB\-\-\fR[\fBno\-\fR]\fBchanged\-paths\fR است\&. برای بازنویسی یک فایل commit\-graph بدون هیچ فیلتری، از گزینه \fB\-\-no\-changed\-paths\fR استفاده کنید\&. گزینه خط فرمان \fB\-\-\fR[\fBno\-\fR]\fBchanged\-paths\fR همواره بر این پیکربندی اولویت دارد\&. مقدار پیش‌فرض تنظیم‌نشده است\&. .RE .PP commitGraph\&.readChangedPaths .RS 4 منسوخ شده است\&. در صورت true بودن معادل با commitGraph\&.changedPathsVersion=\-1 و در صورت false بودن معادل با commitGraph\&.changedPathsVersion=0 است\&. (اگر commitGraph\&.changedPathVersion نیز تنظیم شده باشد، commitGraph\&.changedPathsVersion اولویت خواهد داشت\&.) .RE .PP commitGraph\&.changedPathsVersion .RS 4 نسخه‌ای از فیلترهای بلوم مسیرهای تغییر‌یافته را مشخص می‌کند که گیت می‌خواند و می‌نویسد\&. می‌تواند \-1، 0، 1 یا 2 باشد\&. توجه داشته باشید که مقادیر بزرگتر از ۱ ممکن است با نسخه‌های قدیمی‌تر گیت که هنوز این نسخه‌ها را پشتیبانی نمی‌کنند ناسازگار باشند\&. هنگام کار در یک محیط با نسخه‌های ترکیبی با احتیاط عمل کنید\&. .sp پیش‌فرض \-1 است\&. .sp اگر \-1 باشد، گیت از نسخه فیلترهای بلوم مسیرهای تغییر‌یافته در مخزن استفاده می‌کند و در صورت نبود هیچ فیلتری، پیش‌فرض را 1 در نظر می‌گیرد\&. .sp اگر 0 باشد، گیت هیچ فیلتر بلومی را نمی‌خواند، و هنگام دستور برای نوشتن، فیلترهای بلوم نسخه 1 را می‌نویسد\&. .sp اگر 1 باشد، گیت فقط فیلترهای بلوم نسخه 1 را می‌خواند و فیلترهای بلوم نسخه 1 را می‌نویسد\&. .sp اگر 2 باشد، گیت فقط فیلترهای بلوم نسخه 2 را می‌خواند و فیلترهای بلوم نسخه 2 را می‌نویسد\&. .sp برای اطلاعات بیشتر به \fBgit-commit-graph\fR(1) مراجعه کنید\&. .RE .SH "قالب فایل (FILE FORMAT)" .sp به \fBgitformat-commit-graph\fR(5) مراجعه کنید\&. .SH "همچنین ببینید (SEE ALSO)" .sp \fBgitformat-commit-graph\fR(5), \fBgit-config\fR(1), \fBgit-replace\fR(1) .SH "گیت (GIT)" .sp بخشی از مجموعه \fBgit\fR(1)