jj-git-init(1) General Commands Manual jj-git-init(1) نام (NAME) jj-git-init - ایجاد یک مخزن جدید مبتنی بر Git خلاصه دستور (SYNOPSIS) jj git init [--colocate] [-R|--repository] [--ignore-working-copy] [--no-colocate] [--no-integrate-operation] [--object-hash] [--git-repo] [--ignore-immutable] [--at-operation] [--debug] [--color] [--quiet] [--no-pager] [--config] [--config-file] [-h|--help] [DESTINATION] توضیحات (DESCRIPTION) ایجاد یک مخزن جدید مبتنی بر Git گزینه‌ها (OPTIONS) --colocate هم‌مکانی مخزن Jujutsu با مخزن git مشخص می‌کند که مخزن `jj` باید یک مخزن معتبر `git` نیز باشد، که امکان استفاده از هر دو دستور `jj` و `git` را در همان دایرکتوری فراهم می‌سازد. مخزن شامل یک دایرکتوری `.git` در بالاترین سطح خواهد بود. ابزارهای معمول Git قادر خواهند بود بر روی مخزن عمل کنند. این حالت پیش‌فرض است، و این گزینه اثری ندارد، مگر اینکه [git.colocate config] بر روی `false` تنظیم شده باشد. این گزینه با --git-repo ناسازگار (مانعة‌الجمع) است. [git.colocate config]: https://docs.jj-vcs.dev/latest/config/#default-colocation --no-colocate غیرفعال کردن هم‌مکانی مخزن Jujutsu با مخزن git جلوگیری از کارکرد ابزارهای Git که از `jj` بی‌خبرند و دستورات معمول Git بر روی مخزن. مخزن Git که بیشتر داده‌های مخزن را در خود ذخیره می‌کند، درون یک زیردایرکتوری از دایرکتوری `.jj` پنهان خواهد شد. برای آگاهی از برخی مزایای جزئی فضاهای کاری غیرهم‌مکان، [colocation docs] را ببینید. [colocation docs]: https://docs.jj-vcs.dev/latest/git-compatibility/#colocated-jujutsugit-repos --object-hash الگوریتم هش اشیاء برای مخزن تازه‌ ایجادشده Git. معادل گزینهٔ --object-format در git init است. در صورت عدم ارائه، پیکربندی [git.object-hash config] مقدار پیش‌فرض را تعیین می‌کند. توجه داشته باشید که هش اشیاء در حال حاضر برای یک مخزن موجود قابل تغییر نیست و همهٔ سرویس‌های میزبان کد (code forges) هنوز از مخازن SHA-256 پشتیبانی نمی‌کنند. همچنین برای توضیحات عمیق‌تر دربارهٔ مهاجرت به سمت توابع هش قوی‌تر، سند [hash-function-transition] گیت را ببینید. [git.object-hash config]: https://docs.jj-vcs.dev/latest/config/#default-object-hash-format [hash-function-transition]: https://git-scm.com/docs/hash-function-transition مقادیر مجاز: • sha1 • sha256 --git-repo مسیر یک مخزن Git موجود را مشخص می‌کند تا به عنوان مخزن پشتیبان Git برای مخزن تازه‌ ایجادشده `jj` استفاده شود. اگر مسیر مشخص‌شدهٔ `--git-repo` اتفاقاً با مسیر مخزن `jj` یکسان باشد (هر دو دایرکتوری .jj و .git در یک دایرکتوری کاری قرار داشته باشند)، آنگاه هر دو دستور `jj` و `git` روی همان مخزن کار خواهند کرد. این حالت یک فضای کاری هم‌مکان نامیده می‌شود. این گزینه با --colocate ناسازگار (مانعة‌الجمع) است، بنابراین در صورت ارسال، هم‌مکانی را غیرفعال می‌کند. -h, --help چاپ راهنما (مشاهده خلاصه با '-h') [DESTINATION] [پیش‌فرض: .] دایرکتوری مقصدی که مخزن `jj` در آن ایجاد خواهد شد. اگر دایرکتوری وجود نداشته باشد، ایجاد می‌شود. اگر هیچ دایرکتوری مشخص نشود، از دایرکتوری فعلی استفاده می‌شود. به‌طور پیش‌فرض مخزن `git` در مسیر `$destination/.jj` قرار دارد. گزینه‌های عمومی (GLOBAL OPTIONS) -R, --repository مسیر مخزنی که باید روی آن کار شود به‌طور پیش‌فرض، Jujutsu به دنبال نزدیک‌ترین دایرکتوری .jj/ در مسیرهای والد دایرکتوری کاری فعلی می‌گردد. --ignore-working-copy از نسخهٔ کاری اسنپ‌شات گرفته نشود و به‌روزرسانی نیز نگردد به‌طور پیش‌فرض، Jujutsu در ابتدای هر دستور از نسخهٔ کاری اسنپ‌شات می‌گیرد. همچنین در پایان دستور، اگر دستور کامیت نسخهٔ کاری (`@`) را تغییر داده باشد، نسخهٔ کاری به‌روزرسانی می‌شود. اگر می‌خواهید از اسنپ‌شات گرفتن از نسخهٔ کاری صرف‌نظر کنید و در عوض یک کامیت نسخهٔ کاری احتمالاً قدیمی را مشاهده کنید، می‌توانید از --ignore-working-copy استفاده کنید. این مورد می‌تواند برای مثال در خط فرمان (prompt) مفید باشد، به‌ویژه اگر فرآیند دیگری داشته باشید که نسخهٔ کاری را کامیت می‌کند. بارگذاری مخزن در یک عملیات خاص با --at-operation به معنای فعال بودن --ignore-working-copy است. --no-integrate-operation اجرای دستور به صورت معمول اما بدون ادغام عملیات‌ها هنگامی که این گزینه ارائه شود، عملیات‌ها همچنان مثل همیشه ایجاد می‌شوند اما در گزارش عملیات (operation log) ادغام نخواهند شد. همچنین نسخهٔ کاری به‌روزرسانی نخواهد شد. این دستور شناسهٔ عملیات حاصل را چاپ می‌کند. می‌توانید آن را مثلاً به jj --at-op ارسال کنید تا وضعیت مخزن حاصل را بررسی کنید، یا آن را به jj op restore بدهید تا مخزن را به آن وضعیت بازیابی کند. همچنین می‌توانید شناسه را به jj op integrate بدهید تا عملیات را ادغام نماید. توجه داشته باشید که این گزینه مانع اثرات جانبی بیرون از مخزن *نمی‌شود*. برای نمونه، دستور jj git push --no-integrate-operation همچنان عملیات پوش (push) را انجام خواهد داد. --ignore-immutable اجازه بازنویسی کامیت‌های تغییرناپذیر به‌طور پیش‌فرض، Jujutsu از بازنویسی کامیت‌های موجود در مجموعهٔ پیکربندی‌شدهٔ کامیت‌های تغییرناپذیر جلوگیری می‌کند. این گزینه بررسی مذکور را غیرفعال کرده و اجازه می‌دهد هر کامیتی به جز کامیت ریشه (root commit) را بازنویسی کنید. این گزینه فقط بر روی این بررسی تأثیر می‌گذارد و روی مجموعه بازبینی (revset) immutable_heads() یا کلمه کلیدی الگوی immutable اثری ندارد. --at-operation عملیاتی که مخزن بر مبنای آن بارگذاری شود عملیاتی که مخزن باید بر مبنای آن بارگذاری شود. به‌طور پیش‌فرض، Jujutsu مخزن را بر مبنای جدیدترین عملیات یا در صورت وجود، بر مبنای ادغام عملیات‌های واگرا بارگذاری می‌کند. می‌توانید از --at-op= استفاده کنید تا ببینید مخزن در یک عملیات پیشین به چه شکلی بوده است. برای مثال، دستور jj --at-op= st آنچه را که jj st بلافاصله پس از پایان عملیات مشخص‌شده نشان می‌داد، به شما نمایش می‌دهد. --at-op=@ تقریباً همانند حالت پیش‌فرض است، با این تفاوت که عملیات‌های واگرا هرگز ادغام نخواهند شد. از دستور jj op log برای یافتن شناسهٔ عملیات دلخواه خود استفاده کنید. هر پیشوند یکتایی از شناسهٔ عملیات کافی است. هنگام بارگذاری مخزن در یک عملیات قبلی، نسخهٔ کاری نادیده گرفته می‌شود، درست مانند اینکه --ignore-working-copy مشخص شده باشد. امکان اجرای دستورات تغییردهنده وضعیت (mutating) هنگام بارگذاری مخزن در یک عملیات قبلی وجود دارد. انجام این کار معادل اجرای دستورات همزمان با شروع از عملیات پیشین است. به‌ندرت دلیلی برای انجام این کار وجود دارد، اما امکان‌پذیر است. --debug فعال‌سازی گزارش‌گیری اشکال‌زدایی (debug logging) --color زمان رنگی‌سازی خروجی مقادیر مجاز: • always • never • debug • auto --quiet بی‌صدا کردن خروجی‌های غیر اصلی دستور برای نمونه، دستور jj file list همچنان فایل‌ها را فهرست می‌کند، اما به شما اطلاع نمی‌دهد که از نسخهٔ کاری اسنپ‌شات گرفته شده است یا نوادگان بازپایه‌ریزی (rebase) شده‌اند. هشدارها و خطاها همچنان چاپ خواهند شد. --no-pager غیرفعال کردن صفحه‌بندی (pager) --config گزینه‌های پیکربندی اضافی (قابل تکرار) نام باید به صورت کلیدهای نقطه‌دار TOML مشخص شود. مقدار باید به عنوان یک عبارت TOML تعیین شود. در صورتی که مقدار رشته‌ای در هیچ‌یک از ساختارهای TOML (مانند نشانه‌گذاری آرایه) محصور نشده باشد، می‌توان علامت نقل‌قول را حذف کرد. --config-file فایل‌های پیکربندی اضافی (قابل تکرار) همچنین ببینید (SEE ALSO) jj(1), jj-git(1), git(1), git-init(1) init jj-git-init(1)