| jj-log(1) | General Commands Manual | jj-log(1) |
نام (NAME)
jj-log - نمایش تاریخچهٔ بازنگریها
خلاصه دستور (SYNOPSIS)
jj log [-r|--revision] [-R|--repository] [--ignore-working-copy] [-n|--limit] [--no-integrate-operation] [--reversed] [-G|--no-graph] [--ignore-immutable] [--at-operation] [-T|--template] [--debug] [-p|--patch] [--color] [--count] [--quiet] [-s|--summary] [--no-pager] [--stat] [--config] [--types] [--config-file] [--name-only] [--git] [--color-words] [--tool] [--context] [--ignore-all-space] [--ignore-space-change] [-h|--help] [FILESETS]
توضیحات (DESCRIPTION)
نمایش تاریخچهٔ بازنگریها
نمای گرافیکی از تاریخچهٔ پروژه را رندر میکند، که در آن فرزندان پیش از والدین مرتب شدهاند. بهطور پیشفرض، خروجی تنها شامل بازنگریهای تغییرپذیر به همراه برخی بازنگریهای اضافی برای زمینه (context) است. برای مشاهدهٔ تمام بازنگریها از `jj log -r ::` استفاده کنید. برای اطلاعات دربارهٔ نحو، [`jj help -k revsets`] را ببینید.
[`jj help -k revsets`]: https://docs.jj-vcs.dev/latest/revsets
محدودههایی از بازنگریها که طبق `--revisions` در نمودار گنجانده نشدهاند، به صورت یک گره ترکیبی با برچسب "(elided revisions)" نمایش داده میشوند.
کامیت رونوشت کاری در نمودار با نماد `@` مشخص میشود. بازنگریهای تغییرناپذیر [Immutable revisions] دارای نماد `◆` هستند. سایر کامیتها دارای نماد `○` میباشند. تمام این نمادها قابل سفارشیسازی [customized] هستند.
[Immutable revisions]: https://docs.jj-vcs.dev/latest/config/#set-of-immutable-commits
[customized]: https://docs.jj-vcs.dev/latest/config/#node-style
گزینهها (OPTIONS)
- -r, --revision <REVSETS>
- کدام
بازنگریها
نمایش داده
شوند
اگر نه مسیرها و نه بازنگریها مشخص نشده باشند، این مقدار به صورت پیشفرض برابر با تنظیم `revsets.log` خواهد بود.
- -n, --limit <LIMIT>
- محدود کردن
تعداد
بازنگریهای
قابل نمایش
پس از پالایش و مرتبسازی توپولوژیکی بازنگریها اعمال میشود، اما پیش از معکوس شدن ترتیب.
- --reversed
- نمایش بازنگریها با ترتیب معکوس (ابتدا بازنگریهای قدیمیتر)
- -G, --no-graph
- نمایش یک فهرست مسطح از بازنگریها به جای نمودار
- -T, --template <TEMPLATE>
- رندر کردن
هر بازنگری
با استفاده
از قالب
دادهشده
دستور `jj log -T` را اجرا کنید تا فهرست قالبهای توکار نمایش داده شود.
همچنین میتوانید عبارات قالب دلخواه را با استفاده از کلمات کلیدی توکار [built-in keywords] مشخص کنید. برای اطلاعات بیشتر [`jj help -k templates`] را ببینید.
در صورت عدم تعیین، این گزینه به صورت پیشفرض برابر با تنظیم `templates.log` خواهد بود.
[built-in keywords]: https://docs.jj-vcs.dev/latest/templates/#commit-keywords
[`jj help -k templates`]: https://docs.jj-vcs.dev/latest/templates
- -p, --patch
- نمایش پچ (وصله)
- --count
- چاپ تعداد کامیتها به جای نمایش آنها
- -h, --help
- چاپ راهنما (مشاهده خلاصه با '-h')
- [FILESETS]
- نمایش بازنگریهایی که مسیرهای دادهشده را تغییر میدهند
گزینههای قالببندی تفاوت (DIFF FORMATTING OPTIONS)
- -s, --summary
- برای هر مسیر، تنها اصلاح، اضافه یا حذف شدن آن نشان داده شود
- --stat
- نمایش هیستوگرام تغییرات
- --types
- برای هر
مسیر، تنها
نوع آن قبل
و بعد از
تغییر نشان
داده شود
تفاوت به صورت دو حرف نمایش داده میشود. حرف اول نوع قبلی و حرف دوم نوع بعدی را نشان میدهد. '-' نشان میدهد که مسیر وجود نداشته است، 'F' نشاندهندهٔ یک فایل معمولی، `L' نشاندهندهٔ یک پیوند نمادین (symlink)، 'C' نشاندهندهٔ یک تداخل (conflict)، و 'G' نشاندهندهٔ یک زیرماژول Git است.
- --name-only
- برای هر
مسیر، تنها
مسیر آن
نشان داده
شود
معمولاً برای دستورات پوسته (shell) کاربرد دارد، مانند: `jj diff -r @- --name-only | xargs perl -pi -e's/OLD/NEW/g`
- --git
- نمایش تفاوت در قالب Git
- --color-words
- نمایش تفاوت در سطح کلمه که در آن تغییرات تنها با رنگ مشخص میشوند
- --tool <TOOL>
- تولید
تفاوت توسط
دستور
خارجی
یک قالب توکار نیز میتواند به صورت `:<name>` مشخص شود. برای نمونه، `--tool=:git` معادل `--git` است.
- --context <CONTEXT>
- تعداد خطوط متنی پیرامون (context) جهت نمایش
- --ignore-all-space
- نادیده گرفتن فاصلههای خالی هنگام مقایسه خطوط
- --ignore-space-change
- نادیده گرفتن تغییرات در تعداد فاصلههای خالی هنگام مقایسه خطوط
گزینههای عمومی (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>
- فایلهای پیکربندی اضافی (قابل تکرار)
| log |