'\" t .\" Title: git-clone .\" 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\-CLONE" "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-clone \- کلون کردن یک مخزن درون یک دایرکتوری جدید .SH "خلاصه دستور (SYNOPSIS)" .sp .nf \fBgit\fR \fBclone\fR [\fB\-\-template=\fR\fI\fR] [\fB\-l\fR] [\fB\-s\fR] [\fB\-\-no\-hardlinks\fR] [\fB\-q\fR] [\fB\-n\fR] [\fB\-\-bare\fR] [\fB\-\-mirror\fR] [\fB\-o\fR \fI\fR] [\fB\-b\fR \fI\fR] [\fB\-u\fR \fI\fR] [\fB\-\-reference\fR \fI\fR] [\fB\-\-dissociate\fR] [\fB\-\-separate\-git\-dir\fR \fI\fR] [\fB\-\-depth\fR \fI\fR] [\fB\-\-\fR[\fBno\-\fR]\fBsingle\-branch\fR] [\fB\-\-\fR[\fBno\-\fR]\fBtags\fR] [\fB\-\-recurse\-submodules\fR[\fB=\fR\fI\fR]] [\fB\-\-\fR[\fBno\-\fR]\fBshallow\-submodules\fR] [\fB\-\-\fR[\fBno\-\fR]\fBremote\-submodules\fR] [\fB\-\-jobs\fR \fI\fR] [\fB\-\-sparse\fR] [\fB\-\-\fR[\fBno\-\fR]\fBreject\-shallow\fR] [\fB\-\-filter=\fR\fI\fR [\fB\-\-also\-filter\-submodules\fR]] [\fB\-\-\fR] \fI\fR [\fI\fR] .fi .sp .SH "توضیحات (DESCRIPTION)" .sp یک مخزن را درون یک دایرکتوری تازه‌ساخته‌شده کلون می‌کند، برای هر شاخه در مخزن کلون‌شده شاخه‌های ردگیری دوردست (قابل مشاهده با \fBgit\fR \fBbranch\fR \fB\-\-remotes\fR) می‌سازد، و یک شاخه اولیه منشعب‌شده از شاخه فعال فعلی مخزن کلون‌شده را ایجاد و دریافت (checkout) می‌کند\&. .sp پس از انجام کلون، یک دستور ساده \fBgit\fR \fBfetch\fR بدون آرگومان تمام شاخه‌های ردگیری دوردست را به‌روزرسانی می‌کند، و یک دستور \fBgit\fR \fBpull\fR بدون آرگومان علاوه بر آن، در صورت وجود شاخه اصلی (master/main) دوردست، آن را با شاخه اصلی محلی فعلی ادغام می‌کند (هنگامی که گزینه \fB\-\-single\-branch\fR داده شود این امر صادق نیست؛ در ادامه را ببینید)\&. .sp این پیکربندی پیش‌فرض با ایجاد مراجعی به سرشاخه‌های دوردست در زیرمسیر \fBrefs/remotes/origin\fR و با مقداردهی اولیه متغیرهای پیکربندی \fBremote\&.origin\&.url\fR و \fBremote\&.origin\&.fetch\fR حاصل می‌شود\&. .SH "گزینه‌ها (OPTIONS)" .PP \fB\-l\fR, \fB\-\-local\fR .RS 4 هنگامی که مخزن مورد نظر برای کلون روی ماشین محلی قرار دارد، این فلگ سازوکار معمول انتقال «آگاه از گیت» را دور می‌زند و مخزن را با ایجاد کپی از \fBHEAD\fR و هر آنچه در زیر دایرکتوری‌های objects و refs قرار دارد کلون می‌کند\&. فایل‌های زیر دایرکتوری \fB\&.git/objects/\fR در صورت امکان برای صرفه‌جویی در فضا پیوند سخت (hardlink) می‌شوند\&. .sp اگر مخزن به‌صورت یک مسیر محلی مشخص شود (مانند \fB/path/to/repo\fR)، این حالت پیش‌فرض است و گزینه \fB\-\-local\fR اساساً اثری ندارد (no\-op)\&. اگر مخزن به‌صورت یک نشانی (URL) مشخص شده باشد، این فلگ نادیده گرفته می‌شود (و ما هرگز از بهینه‌سازی‌های محلی استفاده نمی‌کنیم)\&. مشخص کردن \fB\-\-no\-local\fR هنگام ارائه مسیر \fB/path/to/repo\fR حالت پیش‌فرض را لغو می‌کند و در عوض از سازوکار انتقال معمول گیت استفاده می‌نماید\&. .sp اگر \fB$GIT_DIR/objects\fR مخزن حاوی پیوندهای نمادین باشد یا خود یک پیوند نمادین باشد، کلون با شکست مواجه خواهد شد\&. این یک اقدام امنیتی برای جلوگیری از کپی ناخواسته فایل‌ها با دنبال کردن پیوندهای نمادین است\&. .sp این گزینه به دلایل امنیتی روی مخازنی که متعلق به سایر کاربران هستند کار نمی‌کند، و برای اینکه عملیات کلون با موفقیت انجام شود، باید گزینه \fB\-\-no\-local\fR مشخص گردد\&. .sp \fBنکته\fR: این عملیات ممکن است با اصلاحات هم‌زمان در مخزن مبدأ دچار شرایط رقابتی (race) شود، درست مانند اجرای دستور \fBcp\fR \fB\-r\fR \fI\fR \fI\fR در حالی که \fI\fR در حال تغییر است\&. .RE .PP \fB\-\-no\-hardlinks\fR .RS 4 فرآیند کلون از یک مخزن روی سامانه فایل محلی را وادار می‌کند تا فایل‌های زیر دایرکتوری \fB\&.git/objects\fR را به جای استفاده از پیوندهای سخت کپی کند\&. این کار در صورتی که در تلاش برای تهیه نسخه پشتیبان از مخزن خود باشید می‌تواند مفید باشد\&. .RE .PP \fB\-s\fR, \fB\-\-shared\fR .RS 4 هنگامی که مخزن مورد نظر برای کلون روی ماشین محلی قرار دارد، به جای استفاده از پیوندهای سخت، به‌طور خودکار فایل \fB\&.git/objects/info/alternates\fR را برای به اشتراک‌گذاری اشیاء با مخزن مبدأ تنظیم می‌کند\&. مخزن حاصل در ابتدا هیچ شیء اختصاصی از خود ندارد\&. .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBنکته\fR .ps -1 .br این یک عملیات بالقوه خطرناک است؛ از آن استفاده \fBنکنید\fR مگر اینکه کاملاً متوجه کارکرد آن باشید\&. اگر مخزن خود را با این گزینه کلون کنید و سپس در مخزن مبدأ شاخه‌هایی را حذف کنید (یا هر دستور گیت دیگری را اجرا کنید که هر کامیت موجودی را بدون ارجاع کند)، ممکن است برخی از اشیاء بدون ارجاع (یا آویزان) شوند\&. این اشیاء ممکن است توسط عملیات عادی گیت (مانند \fBgit\fR \fBcommit\fR) که به‌طور خودکار دستور \fBgit\fR \fBmaintenance\fR \fBrun\fR \fB\-\-auto\fR را فراخوانی می‌کنند حذف شوند\&. (نگاه کنید به \fBgit-maintenance\fR(1)\&.) اگر این اشیاء حذف شوند و توسط مخزن کلون‌شده ارجاع داده شده باشند، مخزن کلون‌شده آسیب دیده و خراب خواهد شد\&. .sp .5v .RE توجه داشته باشید که اجرای دستور \fBgit\fR \fBrepack\fR بدون گزینه \fB\-\-local\fR در مخزنی که با \fB\-\-shared\fR کلون شده است، اشیاء را از مخزن مبدأ درون یک بسته (pack) در مخزن کلون‌شده کپی می‌کند و صرفه‌جویی فضای دیسک ناشی از \fBclone\fR \fB\-\-shared\fR را خنثی می‌سازد\&. با این حال، اجرای دستور \fBgit\fR \fBgc\fR که به‌طور پیش‌فرض از گزینه \fB\-\-local\fR استفاده می‌کند، ایمن است\&. .sp اگر می‌خواهید وابستگی مخزنی را که با \fB\-\-shared\fR کلون شده به مخزن مبدأ آن قطع کنید، می‌توانید به سادگی دستور \fBgit\fR \fBrepack\fR \fB\-a\fR را اجرا کنید تا تمام اشیاء از مخزن مبدأ به درون یک بسته در مخزن کلون‌شده کپی شوند\&. .RE .PP \fB\-\-reference=\fR\fI\fR, \fB\-\-reference\-if\-able=\fR\fI\fR .RS 4 اگر مخزن مرجع \fI\fR روی ماشین محلی باشد، به‌طور خودکار فایل \fB\&.git/objects/info/alternates\fR را برای دریافت اشیاء از مخزن مرجع \fI\fR تنظیم می‌کند\&. استفاده از یک مخزن موجود به‌عنوان جایگزین، به کپی شدن اشیاء کمتری از مخزن در حال کلون نیاز خواهد داشت و هزینه‌های شبکه و فضای ذخیره‌سازی محلی را کاهش می‌دهد\&. هنگام استفاده از \fB\-\-reference\-if\-able\fR، در صورت عدم وجود دایرکتوری، به جای متوقف کردن عملیات کلون، صرفاً با یک هشدار از آن صرف‌نظر می‌شود\&. .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBنکته\fR .ps -1 .br نکته مربوط به گزینه \fB\-\-shared\fR و همچنین گزینه \fB\-\-dissociate\fR را ببینید\&. .sp .5v .RE .RE .PP \fB\-\-dissociate\fR .RS 4 اشیاء را از مخازن مرجع مشخص‌شده با گزینه‌های \fB\-\-reference\fR تنها به منظور کاهش انتقال داده‌های شبکه قرض می‌گیرد، و پس از اتمام کلون با ایجاد کپی‌های محلی لازم از اشیاء قرض‌گرفته‌شده، قرض گرفتن از آن‌ها را متوقف می‌کند\&. این گزینه همچنین می‌تواند هنگام کلون محلی از مخزنی استفاده شود که خود اشیاء را از مخزن دیگری قرض می‌گیرد \(em مخزن جدید اشیاء را از همان مخزن قرض خواهد گرفت، و این گزینه می‌تواند برای متوقف کردن این قرض‌گیری به کار رود\&. .RE .PP \fB\-q\fR, \fB\-\-quiet\fR .RS 4 عملیات را بدون سر و صدا انجام می‌دهد\&. وضعیت پیشرفت به جریان خطای استاندارد گزارش نمی‌شود\&. .RE .PP \fB\-v\fR, \fB\-\-verbose\fR .RS 4 با جزئیات کامل اجرا می‌شود\&. تأثیری بر گزارش وضعیت پیشرفت در جریان خطای استاندارد ندارد\&. .RE .PP \fB\-\-progress\fR .RS 4 هنگامی که خروجی به یک ترمینال متصل باشد، وضعیت پیشرفت به‌طور پیش‌فرض در جریان خطای استاندارد گزارش می‌شود، مگر اینکه \fB\-\-quiet\fR مشخص شده باشد\&. این فلگ نمایش وضعیت پیشرفت را حتی اگر جریان خطای استاندارد به ترمینال هدایت نشده باشد اجباری می‌کند\&. .RE .PP \fB\-\-server\-option=\fR\fI