GITSHOW(1) راهنمای کاربر GITSHOW(1)

gitshow - نمایش فایل‌های تغییریافته و کامیت‌های خاص گیت

gitshow [[-n] | [--line-number]] [[-p n] | [--strip-match=n]] [--strip=n] [--git-prefixes=strip|keep] [--git-extended-diffs=exclude|include] [--addprefix=PREFIX] [[-s] | [--status]] [[-E] | [--empty-files-as-removed]] [[-i PATTERN] | [--include=PATTERN]] [[-x PATTERN] | [--exclude=PATTERN]] [[-z] | [--decompress]] [[-# RANGE] | [--hunks=RANGE]] [--lines=RANGE] [[-FRANGE] | [--files=RANGE]] [[-H] | [--with-filename]] [[-h] | [--no-filename]] [[-v] | [--verbose]...] [file...]

gitshow {[--help] | [--version] | [--filter ...] | [--grep ...]}

دستور gitshow یک ابزار پوششی برای filterdiff جهت استفاده با فایل‌های شماره‌گذاری‌شده در مخازن گیت است. این دستور مشابه gitdiff عمل می‌کند اما به جای git diff، از git show استفاده می‌نماید.

اجرای دستور بدون آرگومان:

gitshow

فهرستی از تمام فایل‌های تغییریافته در کامیت را همراه با شماره آن‌ها نمایش می‌دهد (معادل با lsdiff --number).

با تعیین شماره فایل، می‌توان وصله مربوط به آن فایل خاص را مشاهده کرد:

gitshow -F1

وصله (patch) مربوط به فایل شماره ۱ را نمایش می‌دهد.

دستورهای مرتبط در این مجموعه شامل gitdiff، gitdiffview، gitshow و gitshowview برای مخازن گیت، و همچنین svndiff و svndiffview برای مخازن اس‌وی‌ان هستند.

دستور gitshowview تغییرات را از طریق filterdiff به ویرایشگر vim - -R (در حالت فقط‌خواندنی) هدایت می‌کند تا مشاهده وصله‌ها به‌صورت رنگی و آسان باشد:

gitshowview -F2

وصله مربوط به فایل شماره ۲ را برای بررسی در vim نمایش می‌دهد.

-n, --line-number

نمایش شماره خطی که هر وصله از آن آغاز می‌شود. در صورت درخواست خروجی با جزئیات بیشتر (با استفاده از -nv)، هر قطعه (hunk) از هر وصله نیز فهرست می‌شود.

به ازای هر فایل تغییریافته، خطی شامل شماره خط شروع وصله، سپس یک نویسه Tab و به دنبال آن نام فایل تغییریافته تولید می‌شود. اگر -v یک‌بار داده شود، پس از هر یک از این خطوط، یک خط برای هر قطعه شامل نویسه Tab، شماره خط شروع قطعه، نویسه Tab دیگر، رشته “Hunk #” و شماره قطعه (شروع از ۱) درج می‌شود.

اگر -v دو بار همراه با -n داده شود (یعنی -nvv)، قالب خروجی کمی متفاوت است: متن توصیفی سطح قطعه پس از هر شماره قطعه نمایش داده می‌شود و گزینه --number-files فعال می‌گردد.

-N, --number-files

شماره فایل‌ها با شروع از ۱ پیش از هر نام فایل فهرست می‌شوند.

-#RANGE, --hunks=RANGE

فقط قطعات موجود در RANGE مشخص‌شده را فهرست می‌کند. شماره‌گذاری قطعات از ۱ آغاز می‌شود و محدوده به‌صورت فهرستی از اعداد جداشده با کاما یا بازه‌های “first-last” است؛ همچنین می‌تواند با پیشوند اصلاح‌کننده 'x' برای معکوس کردن کل محدوده همراه باشد. مقدار ابتدا یا انتهای بازه را می‌توان برای نشان دادن نامحدود بودن در آن جهت حذف کرد.

--lines=RANGE

فقط قطعاتی را فهرست می‌کند که شامل خطوطی از فایل اصلی در RANGE مشخص‌شده باشند. شماره‌گذاری خطوط از ۱ آغاز می‌شود و ساختار بازه مانند گزینه بالا است.

-F=RANGE, --files=RANGE

فقط فایل‌های مشخص‌شده در RANGE را فهرست می‌کند. فایل‌ها بر اساس ترتیب حضور در ورودی وصله از ۱ شماره‌گذاری می‌شوند و ساختار محدوده مشابه گزینه‌های بالا است.

-pn, --strip-match=n

هنگام تطبیق، n بخش ابتدایی از مسیر فایل را نادیده می‌گیرد.

--strip=n

پیش از نمایش مسیر، n بخش ابتدایی از مسیر فایل را حذف می‌کند.

--git-prefixes=strip|keep

نحوه مدیریت پیشوندهای a/ و b/ در نام فایل‌های diff گیت. با مقدار strip، این پیشوندها هم برای تطبیق نام فایل (هنگام استفاده از گزینه‌های -i و -x) و هم برای خروجی نام فایل (مشابه --strip) حذف می‌شوند. با مقدار keep (پیش‌فرض)، رفتار موجود حفظ می‌شود. این گزینه هم برای diffهای اختصاصی گیت (فایل‌های باینری، تغییر نام‌ها، تغییر دسترسی‌ها) و هم برای diffهای سنتی که بخشی از وصله گیت هستند اعمال می‌شود. توجه: با مقدار keep، عملیات کپی و تغییر نام برای سازگاری با سایر عملیات گیت طوری رفتار می‌شوند که گویی دارای پیشوندهای a/ و b/ هستند. پیش‌فرض در نسخه 0.5.0 به strip تغییر خواهد کرد.

--git-extended-diffs=exclude|include

مشخص می‌کند که آیا diffهای گیت بدون قطعات محتوایی سنتی پردازش شوند یا خیر. این شامل تغییر نام، کپی، تغییر دسترسی فایل‌ها و فایل‌های باینری است. با مقدار exclude (پیش‌فرض در 0.4.x)، این diffها نادیده گرفته می‌شوند. با مقدار include (پیش‌فرض در 0.5.0+)، این diffها به‌طور عادی پردازش می‌شوند. این گزینه بر شماره‌گذاری فایل‌ها با -N و فیلتر کردن فایل‌ها با -F تأثیر می‌گذارد.

--addprefix=PREFIX

پیش از نمایش مسیر، PREFIX را به ابتدای مسیر فایل اضافه می‌کند.

-s, --status

نمایش وضعیت افزودن، ویرایش و حذف فایل‌ها. فایل افزوده با “+”، فایل حذف‌شده با “-” و فایل ویرایش‌شده با “!” مشخص می‌شود.

--empty-files-as-absent, --empty-files-as-removed

فایل‌های خالی را برای نمایش افزودن، ویرایش و حذف فایل‌ها به عنوان ناموجود در نظر می‌گیرد. برای مثال، فایلی با نسخه قدیمی خالی و افزوده‌ها در نسخه جدید، به عنوان فایل افزوده (+) در نظر گرفته می‌شود تا فایل ویرایش‌شده (!).

-iPATTERN, --include=PATTERN

فقط فایل‌هایی را که با PATTERN تطبیق دارند شامل می‌شود.

-xPATTERN, --exclude=PATTERN

فایل‌هایی را که با PATTERN تطبیق دارند مستثنی می‌کند.

-z, --decompress

فایل‌های دارای پسوند gz. و bz2. را از حالت فشرده خارج می‌کند.

-H, --with-filename

نام فایل وصله حاوی هر patch را چاپ می‌کند.

-h, --no-filename

از چاپ نام فایل وصله حاوی هر patch خودداری می‌کند.

-v, --verbose

خروجی با جزئیات کامل. برای اسکریپت‌های پوششی git و svn، این گزینه دستور کاملی را که در حال اجرا است نمایش می‌دهد.

--help

نمایش پیام کوتاه راهنمای استفاده از دستور.

--version

نمایش شماره نسخه ابزار.

--filter

عملکرد مشابه filterdiff(1).

--grep

عملکرد مشابه grepdiff(1).

نمایش تمام فایل‌های تغییریافته در کامیت همراه با شماره آن‌ها:

gitshow

نمایش تغییرات و وصله مربوط به فایل شماره ۳:

gitshow -F3

نمایش تنها قطعه شماره ۱ از فایل شماره ۳:

gitshow -F3 -#1

مشاهده تغییرات فایل شماره ۲ در یک کامیت با استفاده از vim در حالت فقط‌خواندنی:

gitshowview -F2

patchview(1), lsdiff(1), filterdiff(1), grepdiff(1), git-show(1)

Tim Waugh <twaugh@redhat.com>

نگه‌دارنده بسته
02 Jul 2020 patchutils