REPO(1) راهنمای Repo REPO(1)

repo - راه‌اندازی و مقداردهی اولیه کلاینت repo

repo init [گزینه‌ها] [manifest url]

خلاصه

راه‌اندازی و مقداردهی اولیه یک کلاینت repo در دایرکتوری جاری

نمایش این پیام راهنما و خروج

نمایش تمامی خروجی‌ها
تنها نمایش خطاها

مکان مخزن manifest
شاخه یا بازنگری (revision) مانیفست (برای پیش‌فرض از HEAD استفاده کنید)
هنگامی که یک کامیت به --manifest-branch داده می‌شود، این گزینه نام مرجع git (git ref) است که کامیت در آن یافت می‌شود
فایل manifest اولیه
محدود کردن پروژه‌های manifest به مواردی با گروه‌(های) مشخص‌شده [default|all|G1,G2,G3|G4,-G5,-G6]
محدود کردن پروژه‌های manifest به مواردی با گروه پلتفرم مشخص‌شده [auto|all|none|linux|darwin|...]
همگام‌سازی تمامی زیرماژول‌های (submodules) مرتبط با مخزن manifest
بارگیری manifest به‌صورت یک فایل ایستا به جای ایجاد یک checkout گیت از مخزن manifest
ایجاد یک کلون کم‌عمق (shallow clone) از مخزن manifest با عمق داده‌شده (۰ برای کلون کامل)؛ git clone را ببینید (پیش‌فرض: 0)

تنها واکشی شاخه مانیفست جاری از سرور (پیش‌فرض)
واکشی تمام شاخه‌های مانیفست از سرور
واکشی تگ‌های موجود در manifest
تگ‌های موجود در manifest واکشی نشوند

ایجاد یک نسخه مشابه (replica) از مخازن ریموت به جای دایرکتوری کاری کلاینت
دریافت یک آرشیو به جای مخزن git برای هر پروژه. git archive را ببینید.
استفاده از git-worktree برای مدیریت پروژه‌ها

مکان دایرکتوری آینه (mirror)
جدا کردن پیوند از آینه‌های مرجع پس از اتمام clone
ایجاد یک کلون کم‌عمق با عمق داده‌شده؛ git clone را ببینید
انجام کلون جزئی (partial clone) (https://gitscm.com/docs/gitrepositorylayout#_code_partialclone_code)
غیرفعال‌سازی استفاده از کلون جزئی (https://gitscm.com/docs/gitrepositorylayout#_code_partialclone_code)
مستثنی کردن پروژه‌های مشخص‌شده (نام‌های پروژه با کاما جدا شوند) از کلون جزئی (https://gitscm.com/docs/gitrepositorylayout#_code_partialclone_code)
فیلتر مورد استفاده با --partial-clone [پیش‌فرض: blob:none]
استفاده از superproject مانیفست برای همگام‌سازی پروژه‌ها؛ شامل -c می‌شود
غیرفعال‌سازی استفاده از superprojectهای مانیفست
فعال‌سازی استفاده از /clone.bundle بر روی HTTP/HTTPS (در صورت عدم استفاده از --partial-clone پیش‌فرض است)
غیرفعال‌سازی استفاده از /clone.bundle بر روی HTTP/HTTPS (در صورت استفاده از --partial-clone پیش‌فرض است)
فعال‌سازی پشتیبانی از Git LFS
غیرفعال‌سازی پشتیبانی از Git LFS

مکان مخزن repo ($REPO_URL)
شاخه یا بازنگری repo ($REPO_REV)
عدم اعتبارسنجی کد منبع repo

همواره برای نام/رایانامه (e-mail) سؤال شود

شروع عملیات از بیرونی‌ترین manifest
عدم اعمال عملیات بر روی manifestهای بیرونی
تنها بر روی این (زیر)مانیفست عملیات انجام شود
اعمال عملیات بر روی این manifest و زیرمانیفست‌های آن

برای مشاهده راهنمای تفصیلی، فرمان `repo help init` را اجرا کنید.

دستور 'repo init' یک بار برای نصب و راه‌اندازی repo اجرا می‌شود. جدیدترین کد منبع repo و مجموعه manifest از سرور دانلود شده و در دایرکتوری .repo/ در دایرکتوری کاری جاری نصب می‌شود.

هنگام ایجاد یک checkout جدید، نشانی وب manifest تنها تنظیم الزامی است. این نشانی می‌تواند با استفاده از گزینه --manifest-url یا به عنوان نخستین آرگومان اختیاری مشخص شود.

آرگومان اختیاری -b می‌تواند برای انتخاب شاخه manifest جهت دریافت (checkout) و استفاده به کار رود. اگر هیچ شاخه‌ای مشخص نشود، شاخه پیش‌فرض سرور دوردست (remote) استفاده خواهد شد. این معادل استفاده از -b HEAD است.

آرگومان اختیاری --manifest-upstream-branch هنگامی که یک کامیت به --manifest-branch (یا -b) داده شده است، می‌تواند برای تعیین نام git ref که کامیت در آن یافت می‌شود به کار رود.

آرگومان اختیاری -m می‌تواند برای تعیین یک manifest جایگزین مورد استفاده قرار گیرد. اگر هیچ manifestی مشخص نشود، فایل پیش‌فرض default.xml استفاده خواهد شد.

اگر آرگومان --standalone-manifest تنظیم شود، manifest مستقیماً از --manifest-url مشخص‌شده به صورت یک فایل ایستا بارگیری می‌شود (به جای راه‌اندازی یک checkout گیت برای manifest). با گزینه --standalone-manifest، فایل manifest کاملاً ایستا خواهد بود و در فراخوانی‌های بعدی `repo init` و `repo sync` دوباره دانلود نخواهد شد.

گزینه --reference می‌تواند برای اشاره به دایرکتوری‌ای به کار رود که دارای محتوای یک همگام‌سازی --mirror است. این کار باعث می‌شود دایرکتوری کاری هنگام واکشی از سرور، تا حد امکان از داده‌های دایرکتوری مرجع محلی استفاده کند. با کاهش ترافیک داده در شبکه، این امر سرعت همگام‌سازی را بسیار افزایش می‌دهد.

گزینه --dissociate می‌تواند برای قرض گرفتن اشیاء از دایرکتوری مشخص‌شده با گزینه --reference تنها به منظور کاهش انتقال شبکه استفاده شود؛ و پس از انجام نخستین کلون، با ایجاد رونوشت‌های محلی مورد نیاز از اشیاء قرض‌گرفته‌شده، استفاده اشتراکی از آن‌ها پایان یابد.

گزینه --no-clone-bundle هرگونه تلاش برای استفاده از $URL/clone.bundle جهت راه‌اندازی اولیه یک مخزن Git جدید از یک فایل bundle با قابلیت ادامه دانلود (resumeable) روی شبکه توزیع محتوا (CDN) را غیرفعال می‌کند. در صورتی که کلاینت محلی پایتون برای HTTP یا پیکربندی پروکسی دچار مشکل بوده اما باینری Git به‌درستی کار کند، این گزینه ممکن است ضروری باشد.

تغییر شاخه‌های مانیفست

برای تغییر به یک شاخه manifest دیگر در یک کلاینت موجود، می‌توان از `repo init -b otherbranch` استفاده کرد. با این حال، از آنجا که این کار تنها manifest را به‌روزرسانی می‌کند، اجرای متعاقب `repo sync` (یا `repo sync -d`) برای به‌روزرسانی فایل‌های دایرکتوری کاری ضروری است.

September 2024 repo init