'\" t .\" Title: git-show-ref .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026-06-29 .\" Manual: Git Manual .\" Source: Git 2.55.0 .\" Language: English .\" .TH "GIT\-SHOW\-REF" "1" "2026\-06\-29" "Git 2\&.55\&.0" "Git Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "نام (NAME)" git-show-ref \- فهرست کردن ارجاع‌ها در یک مخزن محلی .SH "خلاصه دستور (SYNOPSIS)" .sp .nf \fIgit show\-ref\fR [\-\-head] [\-d | \-\-dereference] [\-s | \-\-hash[=]] [\-\-abbrev[=]] [\-\-branches] [\-\-tags] [\-\-] [\&...] \fIgit show\-ref\fR \-\-verify [\-q | \-\-quiet] [\-d | \-\-dereference] [\-s | \-\-hash[=]] [\-\-abbrev[=]] [\-\-] [\&...] \fIgit show\-ref\fR \-\-exclude\-existing[=] \fIgit show\-ref\fR \-\-exists .fi .sp .SH "توضیحات (DESCRIPTION)" .sp ارجاع‌های موجود در یک مخزن محلی را همراه با شناسه‌های کامیت (commit ID) مربوط به آن‌ها نمایش می‌دهد\&. نتایج را می‌توان با استفاده از یک الگو فیلتر کرد و تگ‌ها را می‌توان برای دستیابی به شناسه‌های شیء (object ID) ارجاع‌زدایی (dereference) کرد\&. علاوه بر این، می‌توان از آن برای بررسی وجود یک ارجاع خاص استفاده نمود\&. .sp به‌طور پیش‌فرض، تگ‌ها، سرشاخه‌ها (heads) و ارجاع‌های دوردست (remote refs) را نمایش می‌دهد\&. .sp شکل \fB\-\-exclude\-existing\fR یک فیلتر است که عمل عکس را انجام می‌دهد\&. این گزینه ارجاع‌ها را خط به خط از ورودی استاندارد (stdin) می‌خواند و مواردی را که در مخزن محلی وجود ندارند نمایش می‌دهد\&. .sp از شکل \fB\-\-exists\fR می‌توان برای بررسی وجود یک ارجاع منفرد استفاده کرد\&. این حالت بررسی نمی‌کند که آیا ارجاع به یک شیء واقعی منتهی می‌شود یا خیر\&. .sp استفاده از این ابزار به جای دسترسی مستقیم به فایل‌های درون دایرکتوری \fB\&.git\fR توصیه می‌شود\&. .SH "گزینه‌ها (OPTIONS)" .PP \-\-head .RS 4 نمایش ارجاع HEAD، حتی اگر در حالت عادی فیلتر شده و نمایش داده نشود\&. .RE .PP \-\-branches, \-\-tags .RS 4 محدود کردن خروجی به ترتیب به شاخه‌های محلی و تگ‌های محلی\&. این گزینه‌ها مانعة‌الجمع نیستند؛ در صورت ارائه هر دو، ارجاع‌های ذخیره‌شده در "refs/heads" و "refs/tags" نمایش داده می‌شوند\&. توجه داشته باشید که \fB\-\-heads\fR یک نام مترادف منسوخ‌شده برای \fB\-\-branches\fR است و ممکن است در آینده حذف شود\&. .RE .PP \-d, \-\-dereference .RS 4 تگ‌ها را نیز برای رسیدن به شناسه شیء (object ID) ارجاع‌زدایی می‌کند\&. این موارد همراه با عبارت الحاقی \fB^\fR{} نمایش داده خواهند شد\&. .RE .PP \-s, \-\-hash[=] .RS 4 تنها شناسه شیء (OID) را نمایش می‌دهد، نه نام ارجاع را\&. در صورت ترکیب با \fB\-\-dereference\fR، تگ ارجاع‌زدایی‌شده همچنان پس از OID نمایش داده خواهد شد\&. .RE .PP \-\-verify .RS 4 فعال‌سازی بررسی دقیق‌تر ارجاع با الزام به ارائه مسیر دقیق ref\&. علاوه بر برگرداندن کد خطای 1، در صورتی که گزینه \fB\-\-quiet\fR مشخص نشده باشد، یک پیام خطا نیز چاپ خواهد کرد\&. .RE .PP \-\-exists .RS 4 بررسی می‌کند که آیا ارجاع داده‌شده وجود دارد یا خیر\&. در صورت وجود کد خروج 0، در صورت عدم وجود کد 2، و در صورتی که جستجوی ارجاع با خطایی غیر از مفقود بودن آن مواجه شود کد خروج 1 را برمی‌گرداند\&. .RE .PP \-\-abbrev[=] .RS 4 خلاصه‌سازی نام شیء (object name)\&. هنگام استفاده از \fB\-\-hash\fR، نیازی به ذکر \fB\-\-hash\fR \fB\-\-abbrev\fR نیست؛ استفاده از \fB\-\-hash=n\fR کافی خواهد بود\&. .RE .PP \-q, \-\-quiet .RS 4 هیچ نتیجه‌ای را در stdout چاپ نمی‌کند\&. می‌تواند همراه با \fB\-\-verify\fR برای بررسی بی‌سروصدای وجود یک ارجاع به کار رود\&. .RE .PP \-\-exclude\-existing[=] .RS 4 باعث می‌شود دستور \fBgit\fR \fBshow\-ref\fR به عنوان فیلتری عمل کند که ارجاع‌ها را از stdin به فرمت \fB^\fR(?:\fI\fR\fB\es\fR)?\fI\fR(?:\e^{})?$ می‌خواند و اقدامات زیر را روی هر یک انجام می‌دهد: (۱) حذف \fB^\fR{} از انتهای خط در صورت وجود؛ (۲) نادیده گرفتن در صورتی که الگو مشخص شده باشد و با ابتدای refname مطابقت نداشته باشد؛ (۳) هشدار در صورتی که refname ساختار درستی نداشته باشد و عبور از آن؛ (۴) نادیده گرفتن در صورتی که refname ارجاعی باشد که در مخزن محلی وجود دارد؛ (۵) در غیر این صورت، چاپ خط در خروجی\&. .RE .PP \&... .RS 4 نمایش ارجاع‌های منطبق با یک یا چند الگو\&. الگوها از انتهای نام کامل مطابقت داده می‌شوند و تنها بخش‌های کامل تطبیق داده می‌شوند؛ برای نمونه \fImaster\fR با \fIrefs/heads/master\fR، \fIrefs/remotes/origin/master\fR، \fIrefs/tags/jedi/master\fR مطابقت دارد، اما با \fIrefs/heads/mymaster\fR یا \fIrefs/remotes/master/jedi\fR تطبیق ندارد\&. .RE .SH "خروجی (OUTPUT)" .sp فرمت خروجی به این صورت است: .sp .if n \{\ .RS 4 .\} .nf SP LF .fi .if n \{\ .RE .\} .sp .sp برای نمونه: .sp .if n \{\ .RS 4 .\} .nf $ 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^{} \&.\&.\&. .fi .if n \{\ .RE .\} .sp .sp هنگام استفاده از \fB\-\-hash\fR (و نه \fB\-\-dereference\fR)، خروجی به فرمت زیر است: .sp .if n \{\ .RS 4 .\} .nf LF .fi .if n \{\ .RE .\} .sp .sp برای نمونه: .sp .if n \{\ .RS 4 .\} .nf $ git show\-ref \-\-branches \-\-hash 2e3ba0114a1f52b47df29743d6915d056be13278 185008ae97960c8d551adcd9e23565194651b5d1 03adf42c988195b50e1a1935ba5fcbc39b2b029b \&.\&.\&. .fi .if n \{\ .RE .\} .sp .SH "مثال‌ها (EXAMPLES)" .sp برای نمایش تمام ارجاع‌های موسوم به "master"، اعم از تگ‌ها، سرشاخه‌ها یا هر مورد دیگر، و صرف‌نظر از عمق آن‌ها در سلسسله‌مراتب نام‌گذاری ارجاع‌ها، از دستور زیر استفاده کنید: .sp .if n \{\ .RS 4 .\} .nf git show\-ref master .fi .if n \{\ .RE .\} .sp .sp این دستور در صورت وجود، "refs/heads/master" و همچنین "refs/remote/other\-repo/master" را نمایش می‌دهد\&. .sp هنگام استفاده از گزینه \fB\-\-verify\fR، دستور نیازمند یک مسیر دقیق است: .sp .if n \{\ .RS 4 .\} .nf git show\-ref \-\-verify refs/heads/master .fi .if n \{\ .RE .\} .sp .sp تنها با شاخه دقیق به نام "master" مطابقت خواهد داشت\&. .sp اگر هیچ موردی منطبق نشود، دستور \fBgit\fR \fBshow\-ref\fR کد خطای 1 را برمی‌گرداند، و در حالت تایید اعتبار (verification)، یک پیام خطا نیز نمایش می‌دهد\&. .sp برای اسکریپت‌نویسی، می‌توانید با گزینه \fB\-\-quiet\fR خروجی را بی‌صدا کنید که به شما اجازه می‌دهد کارهایی مانند نمونه زیر را انجام دهید: .sp .if n \{\ .RS 4 .\} .nf git show\-ref \-\-quiet \-\-verify \-\- "refs/heads/$headname" || echo "$headname is not a valid branch" .fi .if n \{\ .RE .\} .sp .sp جهت بررسی اینکه آیا شاخه‌ای مشخص وجود دارد یا خیر (توجه کنید که در اینجا نمی‌خواهیم نتیجه‌ای چاپ شود، و برای جلوگیری از ابهام تطبیق‌های ناقص، از نام کامل ارجاع استفاده می‌کنیم)\&. .sp برای نمایش انحصاری تگ‌ها، یا تنها سرشاخه‌های اصلی، به ترتیب از \fB\-\-tags\fR یا \fB\-\-branches\fR استفاده کنید (استفاده از هر دو بدین معناست که تگ‌ها و شاخه‌ها نمایش داده شوند، اما سایر ارجاع‌های متفرقه زیر دایرکتوری refs/ نمایش داده نشوند)\&. .sp برای ارجاع‌زدایی خودکار اشیای تگ، از گزینه \fB\-d\fR یا \fB\-\-dereference\fR استفاده کنید تا بتوانید دستوری مانند نمونه زیر را اجرا کنید: .sp .if n \{\ .RS 4 .\} .nf git show\-ref \-\-tags \-\-dereference .fi .if n \{\ .RE .\} .sp .sp تا فهرستی از تمام تگ‌ها همراه با شیء مورد ارجاع آن‌ها به دست آورید\&. .SH "فایل‌ها (FILES)" .sp \fB\&.git/refs/*\fR, \fB\&.git/packed\-refs\fR .SH "همچنین ببینید (SEE ALSO)" .sp \fBgit-for-each-ref\fR(1), \fBgit-ls-remote\fR(1), \fBgit-update-ref\fR(1), \fBgitrepository-layout\fR(5) .SH "GIT" .sp بخشی از مجموعه \fBgit\fR(1)