| 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 <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_REPO>
- مسیر یک
مخزن Git
موجود را
مشخص
میکند تا
به عنوان
مخزن
پشتیبان Git
برای مخزن
تازه
ایجادشده `jj`
استفاده
شود.
اگر مسیر مشخصشدهٔ `--git-repo` اتفاقاً با مسیر مخزن `jj` یکسان باشد (هر دو دایرکتوری .jj و .git در یک دایرکتوری کاری قرار داشته باشند)، آنگاه هر دو دستور `jj` و `git` روی همان مخزن کار خواهند کرد. این حالت یک فضای کاری هممکان نامیده میشود.
این گزینه با --colocate ناسازگار (مانعةالجمع) است، بنابراین در صورت ارسال، هممکانی را غیرفعال میکند.
- -h, --help
- چاپ راهنما (مشاهده خلاصه با '-h')
- [DESTINATION] [پیشفرض: .]
- دایرکتوری
مقصدی که
مخزن `jj` در آن
ایجاد
خواهد شد.
اگر
دایرکتوری
وجود
نداشته
باشد،
ایجاد
میشود. اگر
هیچ
دایرکتوری
مشخص نشود،
از
دایرکتوری
فعلی
استفاده
میشود.
بهطور پیشفرض مخزن `git` در مسیر `$destination/.jj` قرار دارد.
گزینههای عمومی (GLOBAL OPTIONS)
- -R, --repository <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 <AT_OPERATION>
- عملیاتی که
مخزن بر
مبنای آن
بارگذاری
شود
عملیاتی که مخزن باید بر مبنای آن بارگذاری شود. بهطور پیشفرض، Jujutsu مخزن را بر مبنای جدیدترین عملیات یا در صورت وجود، بر مبنای ادغام عملیاتهای واگرا بارگذاری میکند.
میتوانید از --at-op=<operation ID> استفاده کنید تا ببینید مخزن در یک عملیات پیشین به چه شکلی بوده است. برای مثال، دستور jj --at-op=<operation ID> st آنچه را که jj st بلافاصله پس از پایان عملیات مشخصشده نشان میداد، به شما نمایش میدهد. --at-op=@ تقریباً همانند حالت پیشفرض است، با این تفاوت که عملیاتهای واگرا هرگز ادغام نخواهند شد.
از دستور jj op log برای یافتن شناسهٔ عملیات دلخواه خود استفاده کنید. هر پیشوند یکتایی از شناسهٔ عملیات کافی است.
هنگام بارگذاری مخزن در یک عملیات قبلی، نسخهٔ کاری نادیده گرفته میشود، درست مانند اینکه --ignore-working-copy مشخص شده باشد.
امکان اجرای دستورات تغییردهنده وضعیت (mutating) هنگام بارگذاری مخزن در یک عملیات قبلی وجود دارد. انجام این کار معادل اجرای دستورات همزمان با شروع از عملیات پیشین است. بهندرت دلیلی برای انجام این کار وجود دارد، اما امکانپذیر است.
- --debug
- فعالسازی گزارشگیری اشکالزدایی (debug logging)
- --color <WHEN>
- زمان
رنگیسازی
خروجی
مقادیر مجاز:
- always
- never
- debug
- auto
- --quiet
- بیصدا
کردن
خروجیهای
غیر اصلی
دستور
برای نمونه، دستور jj file list همچنان فایلها را فهرست میکند، اما به شما اطلاع نمیدهد که از نسخهٔ کاری اسنپشات گرفته شده است یا نوادگان بازپایهریزی (rebase) شدهاند.
هشدارها و خطاها همچنان چاپ خواهند شد.
- --no-pager
- غیرفعال کردن صفحهبندی (pager)
- --config <NAME=VALUE>
- گزینههای
پیکربندی
اضافی (قابل
تکرار)
نام باید به صورت کلیدهای نقطهدار TOML مشخص شود. مقدار باید به عنوان یک عبارت TOML تعیین شود. در صورتی که مقدار رشتهای در هیچیک از ساختارهای TOML (مانند نشانهگذاری آرایه) محصور نشده باشد، میتوان علامت نقلقول را حذف کرد.
- --config-file <PATH>
- فایلهای پیکربندی اضافی (قابل تکرار)
همچنین ببینید (SEE ALSO)
| init |