GITK(1) Git Manual GITK(1)

gitk - مرورگر مخزن گیت

gitk [<options>] [<revision-range>] [--] [<path>...]

تغییرات موجود در یک مخزن یا مجموعه‌ای انتخاب‌شده از کامیت‌ها را نمایش می‌دهد. این شامل مصورسازی نمودار کامیت‌ها، نمایش اطلاعات مربوط به هر کامیت و فایل‌های موجود در درخت هر نسخه است.

برای کنترل این‌که کدام نسخه‌ها نمایش داده شوند، gitk از بیشتر گزینه‌های قابل اعمال بر دستور git rev-list پشتیبانی می‌کند. همچنین از چند گزینهٔ قابل اعمال بر دستورات git diff-* برای کنترل چگونگی نمایش تغییرات معرفی‌شده توسط هر کامیت پشتیبانی می‌کند. در نهایت، از برخی گزینه‌های مختص به gitk نیز پشتیبانی می‌نماید.

به دلیل محدودیت‌های تجزیه‌کنندهٔ خط فرمان، gitk عموماً تنها گزینه‌هایی را متوجه می‌شود که آرگومان‌های آن‌ها در فرم متصل یا چسبیده (stuck) باشند (به gitcli(7) مراجعه کنید).

این صفحهٔ راهنما تنها پرکاربردترین گزینه‌ها را شرح می‌دهد. برای فهرست کامل به git-rev-list(1) مراجعه کنید.

--all

نمایش تمام ارجاع‌ها (شاخه‌ها، تگ‌ها و غیره).

--branches[=<pattern>], --tags[=<pattern>], --remotes[=<pattern>]

مانند این رفتار می‌کند که گویی تمام شاخه‌ها (به ترتیب: تگ‌ها، شاخه‌های ریموت) در خط فرمان به عنوان <commit> ذکر شده‌اند. اگر <pattern> مشخص شود، ارجاع‌ها را به مواردی که با الگوی گلوب پوسته مطابقت دارند محدود می‌کند. اگر الگو فاقد ?، * یا [ باشد، وجود /* در انتهای آن فرض می‌شود.

--since=<date>

نمایش کامیت‌های جدیدتر از یک تاریخ مشخص.

--until=<date>

نمایش کامیت‌های قدیمی‌تر از یک تاریخ مشخص.

--date-order

مرتب‌سازی کامیت‌ها بر اساس تاریخ در صورت امکان.

--merge

پس از توقف عملیات ادغام به دلیل وجود تداخل، کامیت‌هایی از تاریخچهٔ بین دو شاخه (یعنی HEAD و MERGE_HEAD) را نمایش می‌دهد که فایل‌های دارای تداخل را تغییر داده‌اند و در تمام سرهای در حال ادغام وجود ندارند.

--left-right

مشخص می‌کند که یک کامیت از کدام سمت تفاضل متقارن قابل دسترسی است. کامیت‌های سمت چپ با نماد < و کامیت‌های سمت راست با نماد > پیشوند می‌خورند.

--full-history

هنگام فیلتر کردن تاریخچه با <path>...، بخش‌هایی از تاریخچه را هرس نمی‌کند. (برای توضیح دقیق‌تر به بخش "ساده‌سازی تاریخچه" در git-log(1) مراجعه کنید).

--simplify-merges

گزینه‌ای مکمل برای --full-history جهت حذف برخی ادغام‌های غیرضروری از تاریخچهٔ حاصل، در حالتی که هیچ کامیت انتخاب‌شده‌ای در آن ادغام نقش نداشته باشد. (برای توضیح دقیق‌تر به بخش "ساده‌سازی تاریخچه" در git-log(1) مراجعه کنید).

--ancestry-path

هنگامی که بازه‌ای از کامیت‌ها برای نمایش داده می‌شود (مثلاً commit1..commit2 یا commit2 ^commit1)، تنها کامیت‌هایی را نمایش می‌دهد که مستقیماً در زنجیرهٔ نیاکانیِ میان commit1 و commit2 قرار دارند؛ یعنی کامیت‌هایی که هم نوادهٔ commit1 و هم نیاکانِ commit2 هستند. (برای توضیح دقیق‌تر به بخش "ساده‌سازی تاریخچه" در git-log(1) مراجعه کنید).

-L<start>,<end>:<file>, -L:<funcname>:<file>

ردیابی سیر تکاملی بازهٔ سطرهای داده‌شده با <start>,<end> یا با عبارت باقاعدهٔ نام تابع <funcname> درون <file>. شما مجاز به تعیین محدودکننده‌های pathspec نیستید. این گزینه در حال حاضر به پیمایشی با شروع از یک نسخهٔ منفرد محدود است؛ یعنی تنها می‌توانید صفر یا یک آرگومان نسخهٔ مثبت بدهید، و <start> و <end> (یا <funcname>) باید در نسخهٔ آغازین وجود داشته باشند. می‌توانید این گزینه را بیش از یک‌بار مشخص کنید. این گزینه متضمن --patch است. خروجی وصله (patch) را می‌توان با استفاده از --no-patch سرکوب کرد. قالب‌های diff غیروصله‌ای --raw، --name-only، --name-status و --summary پشتیبانی می‌شوند. قالب‌های آماری تفاضل (--stat، --numstat، --shortstat، --dirstat) در حال حاضر پیاده‌سازی نشده‌اند.

گزینه‌های قالب‌بندی وصله مانند --word-diff، --color-moved، --no-prefix و گزینه‌های فاصلهٔ خالی (-w، -b) پشتیبانی می‌شوند، همان‌طور که گزینه‌های pickaxe (-S، -G) و --diff-filter پشتیبانی می‌گردند.

<start> و <end> می‌توانند یکی از این شکل‌ها را داشته باشند:

•<number>

اگر <start> یا <end> یک عدد باشد، شماره سطر مطلق را مشخص می‌کند (شمارش سطرها از ۱ آغاز می‌شود).

•/<regex>/

این شکل از نخستین سطری که با عبارت باقاعدهٔ POSIX داده‌شده با <regex> مطابقت داشته باشد استفاده می‌کند. اگر <start> یک عبارت باقاعده باشد، جستجو از پایان بازهٔ -L قبلی (در صورت وجود)، و در غیر این صورت از ابتدای فایل آغاز می‌شود. اگر <start> به صورت ^/<regex>/ باشد، جستجو از ابتدای فایل انجام می‌شود. اگر <end> یک عبارت باقاعده باشد، جستجو با شروع از سطر تعیین‌شده توسط <start> انجام می‌پذیرد.

•+<offset> یا -<offset>

این شکل تنها برای <end> معتبر است و تعدادی سطر قبل یا بعد از سطر مشخص‌شده توسط <start> را تعیین می‌کند.

اگر :<funcname> به جای <start> و <end> داده شود، یک عبارت باقاعده است که بازه را از نخستین سطر نام تابعی که با <funcname> مطابقت دارد تا سطر نام تابع بعدی مشخص می‌کند. :<funcname> از پایان بازهٔ -L قبلی (در صورت وجود) و در غیر این صورت از آغاز فایل جستجو می‌کند. ^:<funcname> از آغاز فایل جستجو را انجام می‌دهد. نام‌های توابع به همان شیوه‌ای تعیین می‌شوند که git diff هدرهای قطعهٔ وصله (patch hunk headers) را محاسبه می‌کند (به Defining a custom hunk-header در gitattributes(5) مراجعه کنید).

<revision range>

محدود کردن نسخه‌های قابل نمایش. این می‌تواند یک نسخهٔ منفرد باشد به معنای نمایش از آن نسخه به عقب، یا می‌تواند بازه‌ای به شکل "<from>..<to>" باشد برای نمایش تمام نسخه‌های بین <from> و بازگشت به <to>. توجه داشته باشید که انتخاب پیشرفته‌تر نسخه‌ها نیز می‌تواند اعمال شود. برای فهرست کامل‌تری از روش‌های نگارش نام اشیا، به gitrevisions(7) مراجعه کنید.

<path>...

محدود کردن کامیت‌ها به مواردی که به فایل‌های موجود در مسیرهای مشخص‌شده دست می‌زنند. توجه داشته باشید که برای جلوگیری از ابهام در رابطه با نام نسخه‌ها، از "--" برای جدا کردن مسیرها از گزینه‌های قبلی استفاده کنید.

--argscmd=<command>

دستوری که هر بار gitk نیاز به تعیین بازهٔ نسخه‌ها برای نمایش دارد اجرا می‌شود. انتظار می‌رود این دستور در خروجی استاندارد خود فهرستی از نسخه‌های اضافی برای نمایش را، در هر سطر یک نسخه، چاپ کند. اگر مجموعهٔ کامیت‌ها برای نمایش بین تازه‌سازی‌ها متغیر است، از این گزینه به جای مشخص کردن صریح <revision-range> استفاده کنید.

--select-commit=<ref>

انتخاب کامیت مشخص‌شده پس از بارگیری گراف. رفتار پیش‌فرض معادل تعیین --select-commit=HEAD است.

gitk v2.6.12.. include/scsi drivers/scsi

نمایش تغییرات از نسخهٔ v2.6.12 به بعد که هر فایلی را در زیرپوشه‌های include/scsi یا drivers/scsi تغییر داده‌اند

gitk --since="2 weeks ago"; -- gitk

نمایش تغییرات دو هفتهٔ گذشته روی فایل gitk. استفاده از "--" برای جلوگیری از اشتباه گرفتن با شاخهٔ به نام gitk لازم است

gitk --max-count=100 --all -- Makefile

نمایش حداکثر ۱۰۰ تغییر ایجادشده روی فایل Makefile. به جای جستجوی تغییرات فقط در شاخهٔ فعلی، در تمام شاخه‌ها جستجو می‌کند.

پیکربندی و ترجیحات کاربر در این مسیرها ذخیره می‌شوند:

•$XDG_CONFIG_HOME/git/gitk در صورت وجود، در غیر این صورت
•$HOME/.gitk در صورت وجود

اگر هیچ‌کدام از موارد بالا وجود نداشته باشد، به طور پیش‌فرض $XDG_CONFIG_HOME/git/gitk ایجاد و استفاده می‌شود. اگر $XDG_CONFIG_HOME تنظیم نشده باشد، در تمام موارد مقدار پیش‌فرض آن $HOME/.config است.

نرم‌افزار Gitk نخستین مرورگر گرافیکی مخزن بود که توسط Paul Mackerras با Tcl/Tk نوشته شد.

برنامهٔ gitk در واقع به عنوان پروژه‌ای مستقل نگهداری می‌شود، اما نسخه‌های پایدار آن برای راحتی کاربران نهایی به عنوان بخشی از مجموعهٔ Git توزیع می‌شوند.

پروژهٔ gitk-git/ از پروژهٔ gitk متعلق به Johannes Sixt می‌آید:

qgit(1)

یک مرورگر مخزن نوشته‌شده با C++ و استفاده از Qt.

tig(1)

مرورگر مینیمال مخزن و برجسته‌کنندهٔ خروجی ابزار Git که به زبان C و با استفاده از Ncurses نوشته شده است.

بخشی از مجموعهٔ git(1)

2026-06-29 Git 2.55.0