GIT-ARCHIVE(1) Git Manual GIT-ARCHIVE(1) نام (NAME) git-archive - ساخت بایگانی از فایل‌های یک درخت مشخص خلاصه دستور (SYNOPSIS) git archive [--format=] [--list] [--prefix=/] [] [-o | --output=] [--worktree-attributes] [--remote= [--exec=]] [...] توضیحات (DESCRIPTION) یک بایگانی با قالب مشخص‌شده که شامل ساختار درختیِ درخت نام‌برده است ایجاد کرده و آن را در خروجی استاندارد می‌نویسد. در صورت تعیین ، این پیشوند به ابتدای نام فایل‌ها در بایگانی اضافه می‌شود. رفتار git archive هنگامی که یک شناسه درخت (tree ID) به آن داده می‌شود در مقایسه با زمانی که شناسه کامیت (commit ID) یا شناسه برچسب (tag ID) داده می‌شود متفاوت است. وقتی شناسه درخت داده شود، از زمان فعلی به عنوان زمان تغییر هر فایل در بایگانی استفاده می‌شود. از سوی دیگر، وقتی شناسه کامیت یا برچسب مشخص شود، از زمان کامیت ثبت‌شده در شیء کامیت ارجاع‌شده استفاده خواهد شد. علاوه بر این، در صورت استفاده از قالب tar، شناسه کامیت در یک هدر pax سراسری گسترش‌یافته ذخیره می‌شود؛ این مقدار را می‌توان با استفاده از git get-tar-commit-id استخراج کرد. در فایل‌های ZIP نیز به عنوان توضیح فایل (file comment) ذخیره می‌شود. گزینه‌ها (OPTIONS) --format= قالب بایگانی خروجی. مقادیر ممکن عبارتند از tar، zip، tar.gz، tgz، و هر قالبی که با استفاده از گزینه پیکربندی tar..command تعریف شده باشد. اگر --format مشخص نشده باشد و فایل خروجی تعیین شده باشد، در صورت امکان قالب از نام فایل برداشت می‌شود (برای مثال، نوشتن در foo.zip باعث می‌شود خروجی در قالب zip باشد). در غیر این صورت، قالب خروجی tar خواهد بود. -l, --list نمایش تمامی قالب‌های موجود. -v, --verbose گزارش روند پیشرفت در خروجی خطای استاندارد (stderr). --prefix=/ افزودن پیشوند / به ابتدای مسیرها در بایگانی. می‌تواند تکرار شود؛ راست‌ترین مقدار آن برای تمام فایل‌های ردگیری‌شده استفاده می‌شود. برای اطلاع از اینکه کدام مقدار توسط --add-file استفاده می‌شود، به توضیحات زیر مراجعه کنید. مقدار دقیقاً همان‌طور که وارد شده استفاده می‌شود و نرمال‌سازی نمی‌شود. ممکن است شامل اسلش‌های ابتدایی یا مؤلفه‌های دایرکتوری والد باشد (مانند ../). برخی از برنامه‌های مصرف‌کننده بایگانی ممکن است چنین مسیرهایی را بالقوه ناامن تلقی کرده و در زمان استخراج، آنها را اصلاح کنند یا هشدار دهند. -o , --output= نوشتن بایگانی در به جای خروجی استاندارد (stdout). --add-file= افزودن یک فایل ردگیری‌نشده به بایگانی. برای افزودن چندین فایل می‌توان آن را تکرار کرد. مسیر فایل در بایگانی با الحاق مقدار آخرین گزینه --prefix (در صورت وجود) پیش از این --add-file و نام پایه (basename) فایل ساخته می‌شود. --add-virtual-file=: افزودن محتوای مشخص‌شده به بایگانی. برای افزودن چندین فایل می‌توان آن را تکرار کرد. آرگومان می‌تواند با یک نویسه گیومه دوتایی شروع و پایان یابد؛ نام فایل درون آن به عنوان یک رشته به سبک C تفسیر می‌شود، یعنی بک‌اسلش به عنوان نویسه اسکیپ تعبیر می‌گردد. اگر مسیر شامل دونقطه (:) باشد، باید درون گیومه قرار گیرد تا از اشتباه گرفته شدن دونقطه به عنوان جداکننده بین مسیر و محتوا جلوگیری شود، یا اگر مسیر با نویسه گیومه شروع یا تمام شود نیز باید درون گیومه باشد. حالت فایل محدود به فایل معمولی است و این گزینه ممکن است مشمول محدودیت‌های خط فرمان وابسته به پلتفرم باشد. برای موارد پیچیده‌تر، یک فایل ردگیری‌نشده بنویسید و به جای آن از --add-file استفاده کنید. توجه داشته باشید که برخلاف --add-file، مسیر ایجادشده در بایگانی تحت تأثیر گزینه --prefix قرار نمی‌گیرد، زیرا یک کامل می‌تواند به عنوان مقدار این گزینه داده شود. --worktree-attributes جستجوی مشخصه‌ها در فایل‌های .gitattributes در درخت کاری نیز (به بخش “مشخصه‌ها (ATTRIBUTES)” مراجعه کنید). --mtime=