| GIT-SHOW-REF(1) | Git Manual | GIT-SHOW-REF(1) |
نام (NAME)
git-show-ref - فهرست کردن ارجاعها در یک مخزن محلی
خلاصه دستور (SYNOPSIS)
git show-ref [--head] [-d | --dereference]
[-s | --hash[=<n>]] [--abbrev[=<n>]] [--branches] [--tags]
[--] [<pattern>...]
git show-ref --verify [-q | --quiet] [-d | --dereference]
[-s | --hash[=<n>]] [--abbrev[=<n>]]
[--] [<ref>...]
git show-ref --exclude-existing[=<pattern>]
git show-ref --exists <ref>
توضیحات (DESCRIPTION)
ارجاعهای موجود در یک مخزن محلی را همراه با شناسههای کامیت (commit ID) مربوط به آنها نمایش میدهد. نتایج را میتوان با استفاده از یک الگو فیلتر کرد و تگها را میتوان برای دستیابی به شناسههای شیء (object ID) ارجاعزدایی (dereference) کرد. علاوه بر این، میتوان از آن برای بررسی وجود یک ارجاع خاص استفاده نمود.
بهطور پیشفرض، تگها، سرشاخهها (heads) و ارجاعهای دوردست (remote refs) را نمایش میدهد.
شکل --exclude-existing یک فیلتر است که عمل عکس را انجام میدهد. این گزینه ارجاعها را خط به خط از ورودی استاندارد (stdin) میخواند و مواردی را که در مخزن محلی وجود ندارند نمایش میدهد.
از شکل --exists میتوان برای بررسی وجود یک ارجاع منفرد استفاده کرد. این حالت بررسی نمیکند که آیا ارجاع به یک شیء واقعی منتهی میشود یا خیر.
استفاده از این ابزار به جای دسترسی مستقیم به فایلهای درون دایرکتوری .git توصیه میشود.
گزینهها (OPTIONS)
--head
--branches, --tags
-d, --dereference
-s, --hash[=<n>]
--verify
--exists
--abbrev[=<n>]
-q, --quiet
--exclude-existing[=<pattern>]
<pattern>...
خروجی (OUTPUT)
فرمت خروجی به این صورت است:
<oid> SP <ref> LF
برای نمونه:
$ git show-ref --head --dereference
832e76a9899f560a90ffd62ae2ce83bbeff58f54 HEAD
832e76a9899f560a90ffd62ae2ce83bbeff58f54 refs/heads/master
832e76a9899f560a90ffd62ae2ce83bbeff58f54 refs/heads/origin
3521017556c5de4159da4615a39fa4d5d2c279b5 refs/tags/v0.99.9c
6ddc0964034342519a87fe013781abf31c6db6ad refs/tags/v0.99.9c^{}
055e4ae3ae6eb344cbabf2a5256a49ea66040131 refs/tags/v1.0rc4
423325a2d24638ddcc82ce47be5e40be550f4507 refs/tags/v1.0rc4^{}
...
هنگام استفاده از --hash (و نه --dereference)، خروجی به فرمت زیر است:
<oid> LF
برای نمونه:
$ git show-ref --branches --hash 2e3ba0114a1f52b47df29743d6915d056be13278 185008ae97960c8d551adcd9e23565194651b5d1 03adf42c988195b50e1a1935ba5fcbc39b2b029b ...
مثالها (EXAMPLES)
برای نمایش تمام ارجاعهای موسوم به "master"، اعم از تگها، سرشاخهها یا هر مورد دیگر، و صرفنظر از عمق آنها در سلسسلهمراتب نامگذاری ارجاعها، از دستور زیر استفاده کنید:
git show-ref master
این دستور در صورت وجود، "refs/heads/master" و همچنین "refs/remote/other-repo/master" را نمایش میدهد.
هنگام استفاده از گزینه --verify، دستور نیازمند یک مسیر دقیق است:
git show-ref --verify refs/heads/master
تنها با شاخه دقیق به نام "master" مطابقت خواهد داشت.
اگر هیچ موردی منطبق نشود، دستور git show-ref کد خطای 1 را برمیگرداند، و در حالت تایید اعتبار (verification)، یک پیام خطا نیز نمایش میدهد.
برای اسکریپتنویسی، میتوانید با گزینه --quiet خروجی را بیصدا کنید که به شما اجازه میدهد کارهایی مانند نمونه زیر را انجام دهید:
git show-ref --quiet --verify -- "refs/heads/$headname" ||
echo "$headname is not a valid branch"
جهت بررسی اینکه آیا شاخهای مشخص وجود دارد یا خیر (توجه کنید که در اینجا نمیخواهیم نتیجهای چاپ شود، و برای جلوگیری از ابهام تطبیقهای ناقص، از نام کامل ارجاع استفاده میکنیم).
برای نمایش انحصاری تگها، یا تنها سرشاخههای اصلی، به ترتیب از --tags یا --branches استفاده کنید (استفاده از هر دو بدین معناست که تگها و شاخهها نمایش داده شوند، اما سایر ارجاعهای متفرقه زیر دایرکتوری refs/ نمایش داده نشوند).
برای ارجاعزدایی خودکار اشیای تگ، از گزینه -d یا --dereference استفاده کنید تا بتوانید دستوری مانند نمونه زیر را اجرا کنید:
git show-ref --tags --dereference
تا فهرستی از تمام تگها همراه با شیء مورد ارجاع آنها به دست آورید.
فایلها (FILES)
.git/refs/*, .git/packed-refs
همچنین ببینید (SEE ALSO)
git-for-each-ref(1), git-ls-remote(1), git-update-ref(1), gitrepository-layout(5)
GIT
بخشی از مجموعه git(1)
| 2026-06-29 | Git 2.55.0 |