blob: 3e60edc06009b51f5c782f48fb28e313e593dd7c [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="generator" content="AsciiDoc 8.4.5" />
<title>git-show-ref(1)</title>
<style type="text/css">
/* Debug borders */
p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
/*
border: 1px solid red;
*/
}
body {
margin: 1em 5% 1em 5%;
}
a {
color: blue;
text-decoration: underline;
}
a:visited {
color: fuchsia;
}
em {
font-style: italic;
color: navy;
}
strong {
font-weight: bold;
color: #083194;
}
tt {
color: navy;
}
h1, h2, h3, h4, h5, h6 {
color: #527bbd;
font-family: sans-serif;
margin-top: 1.2em;
margin-bottom: 0.5em;
line-height: 1.3;
}
h1, h2, h3 {
border-bottom: 2px solid silver;
}
h2 {
padding-top: 0.5em;
}
h3 {
float: left;
}
h3 + * {
clear: left;
}
div.sectionbody {
font-family: serif;
margin-left: 0;
}
hr {
border: 1px solid silver;
}
p {
margin-top: 0.5em;
margin-bottom: 0.5em;
}
ul, ol, li > p {
margin-top: 0;
}
pre {
padding: 0;
margin: 0;
}
span#author {
color: #527bbd;
font-family: sans-serif;
font-weight: bold;
font-size: 1.1em;
}
span#email {
}
span#revnumber, span#revdate, span#revremark {
font-family: sans-serif;
}
div#footer {
font-family: sans-serif;
font-size: small;
border-top: 2px solid silver;
padding-top: 0.5em;
margin-top: 4.0em;
}
div#footer-text {
float: left;
padding-bottom: 0.5em;
}
div#footer-badges {
float: right;
padding-bottom: 0.5em;
}
div#preamble {
margin-top: 1.5em;
margin-bottom: 1.5em;
}
div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
div.admonitionblock {
margin-top: 1.5em;
margin-bottom: 1.5em;
}
div.admonitionblock {
margin-top: 2.5em;
margin-bottom: 2.5em;
}
div.content { /* Block element content. */
padding: 0;
}
/* Block element titles. */
div.title, caption.title {
color: #527bbd;
font-family: sans-serif;
font-weight: bold;
text-align: left;
margin-top: 1.0em;
margin-bottom: 0.5em;
}
div.title + * {
margin-top: 0;
}
td div.title:first-child {
margin-top: 0.0em;
}
div.content div.title:first-child {
margin-top: 0.0em;
}
div.content + div.title {
margin-top: 0.0em;
}
div.sidebarblock > div.content {
background: #ffffee;
border: 1px solid silver;
padding: 0.5em;
}
div.listingblock > div.content {
border: 1px solid silver;
background: #f4f4f4;
padding: 0.5em;
}
div.quoteblock {
padding-left: 2.0em;
margin-right: 10%;
}
div.quoteblock > div.attribution {
padding-top: 0.5em;
text-align: right;
}
div.verseblock {
padding-left: 2.0em;
margin-right: 10%;
}
div.verseblock > div.content {
white-space: pre;
}
div.verseblock > div.attribution {
padding-top: 0.75em;
text-align: left;
}
/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
div.verseblock + div.attribution {
text-align: left;
}
div.admonitionblock .icon {
vertical-align: top;
font-size: 1.1em;
font-weight: bold;
text-decoration: underline;
color: #527bbd;
padding-right: 0.5em;
}
div.admonitionblock td.content {
padding-left: 0.5em;
border-left: 2px solid silver;
}
div.exampleblock > div.content {
border-left: 2px solid silver;
padding: 0.5em;
}
div.imageblock div.content { padding-left: 0; }
span.image img { border-style: none; }
a.image:visited { color: white; }
dl {
margin-top: 0.8em;
margin-bottom: 0.8em;
}
dt {
margin-top: 0.5em;
margin-bottom: 0;
font-style: normal;
color: navy;
}
dd > *:first-child {
margin-top: 0.1em;
}
ul, ol {
list-style-position: outside;
}
ol.arabic {
list-style-type: decimal;
}
ol.loweralpha {
list-style-type: lower-alpha;
}
ol.upperalpha {
list-style-type: upper-alpha;
}
ol.lowerroman {
list-style-type: lower-roman;
}
ol.upperroman {
list-style-type: upper-roman;
}
div.compact ul, div.compact ol,
div.compact p, div.compact p,
div.compact div, div.compact div {
margin-top: 0.1em;
margin-bottom: 0.1em;
}
div.tableblock > table {
border: 3px solid #527bbd;
}
thead {
font-family: sans-serif;
font-weight: bold;
}
tfoot {
font-weight: bold;
}
td > div.verse {
white-space: pre;
}
p.table {
margin-top: 0;
}
/* Because the table frame attribute is overriden by CSS in most browsers. */
div.tableblock > table[frame="void"] {
border-style: none;
}
div.tableblock > table[frame="hsides"] {
border-left-style: none;
border-right-style: none;
}
div.tableblock > table[frame="vsides"] {
border-top-style: none;
border-bottom-style: none;
}
div.hdlist {
margin-top: 0.8em;
margin-bottom: 0.8em;
}
div.hdlist tr {
padding-bottom: 15px;
}
dt.hdlist1.strong, td.hdlist1.strong {
font-weight: bold;
}
td.hdlist1 {
vertical-align: top;
font-style: normal;
padding-right: 0.8em;
color: navy;
}
td.hdlist2 {
vertical-align: top;
}
div.hdlist.compact tr {
margin: 0;
padding-bottom: 0;
}
.comment {
background: yellow;
}
@media print {
div#footer-badges { display: none; }
}
div#toctitle {
color: #527bbd;
font-family: sans-serif;
font-size: 1.1em;
font-weight: bold;
margin-top: 1.0em;
margin-bottom: 0.1em;
}
div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
margin-top: 0;
margin-bottom: 0;
}
div.toclevel2 {
margin-left: 2em;
font-size: 0.9em;
}
div.toclevel3 {
margin-left: 4em;
font-size: 0.9em;
}
div.toclevel4 {
margin-left: 6em;
font-size: 0.9em;
}
/* Overrides for manpage documents */
h1 {
padding-top: 0.5em;
padding-bottom: 0.5em;
border-top: 2px solid silver;
border-bottom: 2px solid silver;
}
h2 {
border-style: none;
}
div.sectionbody {
margin-left: 5%;
}
@media print {
div#toc { display: none; }
}
/* Workarounds for IE6's broken and incomplete CSS2. */
div.sidebar-content {
background: #ffffee;
border: 1px solid silver;
padding: 0.5em;
}
div.sidebar-title, div.image-title {
color: #527bbd;
font-family: sans-serif;
font-weight: bold;
margin-top: 0.0em;
margin-bottom: 0.5em;
}
div.listingblock div.content {
border: 1px solid silver;
background: #f4f4f4;
padding: 0.5em;
}
div.quoteblock-attribution {
padding-top: 0.5em;
text-align: right;
}
div.verseblock-content {
white-space: pre;
}
div.verseblock-attribution {
padding-top: 0.75em;
text-align: left;
}
div.exampleblock-content {
border-left: 2px solid silver;
padding-left: 0.5em;
}
/* IE6 sets dynamically generated links as visited. */
div#toc a:visited { color: blue; }
</style>
</head>
<body>
<div id="header">
<h1>
git-show-ref(1) Manual Page
</h1>
<h2>NAME</h2>
<div class="sectionbody">
<p>git-show-ref -
List references in a local repository
</p>
</div>
</div>
<h2 id="_synopsis">SYNOPSIS</h2>
<div class="sectionbody">
<div class="verseblock">
<div class="verseblock-content"><em>git show-ref</em> [-q|--quiet] [--verify] [--head] [-d|--dereference]
[-s|--hash[=&lt;n&gt;]] [--abbrev[=&lt;n&gt;]] [--tags]
[--heads] [--] [&lt;pattern&gt;&#8230;]
<em>git show-ref</em> --exclude-existing[=&lt;pattern&gt;] &lt; ref-list</div>
<div class="verseblock-attribution">
</div></div>
</div>
<h2 id="_description">DESCRIPTION</h2>
<div class="sectionbody">
<div class="paragraph"><p>Displays references available in a local repository along with the associated
commit IDs. Results can be filtered using a pattern and tags can be
dereferenced into object IDs. Additionally, it can be used to test whether a
particular ref exists.</p></div>
<div class="paragraph"><p>The --exclude-existing form is a filter that does the inverse, it shows the
refs from stdin that don&#8217;t exist in the local repository.</p></div>
<div class="paragraph"><p>Use of this utility is encouraged in favor of directly accessing files under
the <tt>.git</tt> directory.</p></div>
</div>
<h2 id="_options">OPTIONS</h2>
<div class="sectionbody">
<div class="dlist"><dl>
<dt class="hdlist1">
--head
</dt>
<dd>
<p>
Show the HEAD reference.
</p>
</dd>
<dt class="hdlist1">
--tags
</dt>
<dt class="hdlist1">
--heads
</dt>
<dd>
<p>
Limit to only "refs/heads" and "refs/tags", respectively. These
options are not mutually exclusive; when given both, references stored
in "refs/heads" and "refs/tags" are displayed.
</p>
</dd>
<dt class="hdlist1">
-d
</dt>
<dt class="hdlist1">
--dereference
</dt>
<dd>
<p>
Dereference tags into object IDs as well. They will be shown with "^{}"
appended.
</p>
</dd>
<dt class="hdlist1">
-s
</dt>
<dt class="hdlist1">
--hash[=&lt;n&gt;]
</dt>
<dd>
<p>
Only show the SHA1 hash, not the reference name. When combined with
--dereference the dereferenced tag will still be shown after the SHA1.
</p>
</dd>
<dt class="hdlist1">
--verify
</dt>
<dd>
<p>
Enable stricter reference checking by requiring an exact ref path.
Aside from returning an error code of 1, it will also print an error
message if <em>--quiet</em> was not specified.
</p>
</dd>
<dt class="hdlist1">
--abbrev[=&lt;n&gt;]
</dt>
<dd>
<p>
Abbreviate the object name. When using <tt>--hash</tt>, you do
not have to say <tt>--hash --abbrev</tt>; <tt>--hash=n</tt> would do.
</p>
</dd>
<dt class="hdlist1">
-q
</dt>
<dt class="hdlist1">
--quiet
</dt>
<dd>
<p>
Do not print any results to stdout. When combined with <em>--verify</em> this
can be used to silently check if a reference exists.
</p>
</dd>
<dt class="hdlist1">
--exclude-existing[=&lt;pattern&gt;]
</dt>
<dd>
<p>
Make <em>git show-ref</em> act as a filter that reads refs from stdin of the
form "<sup>(?:&lt;anything&gt;\s)?&lt;refname&gt;(?:&#92;&#94;{})?$"
and performs the following actions on each:
(1) strip "</sup>{}" at the end of line if any;
(2) ignore if pattern is provided and does not head-match refname;
(3) warn if refname is not a well-formed refname and skip;
(4) ignore if refname is a ref that exists in the local repository;
(5) otherwise output the line.
</p>
</dd>
<dt class="hdlist1">
&lt;pattern&gt;&#8230;
</dt>
<dd>
<p>
Show references matching one or more patterns. Patterns are matched from
the end of the full name, and only complete parts are matched, e.g.
<em>master</em> matches <em>refs/heads/master</em>, <em>refs/remotes/origin/master</em>,
<em>refs/tags/jedi/master</em> but not <em>refs/heads/mymaster</em> nor
<em>refs/remotes/master/jedi</em>.
</p>
</dd>
</dl></div>
</div>
<h2 id="_output">OUTPUT</h2>
<div class="sectionbody">
<div class="paragraph"><p>The output is in the format: <em>&lt;SHA-1 ID&gt;</em> <em>&lt;space&gt;</em> <em>&lt;reference name&gt;</em>.</p></div>
<div class="listingblock">
<div class="content">
<pre><tt>$ 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^{}
...</tt></pre>
</div></div>
<div class="paragraph"><p>When using --hash (and not --dereference) the output format is: <em>&lt;SHA-1 ID&gt;</em></p></div>
<div class="listingblock">
<div class="content">
<pre><tt>$ git show-ref --heads --hash
2e3ba0114a1f52b47df29743d6915d056be13278
185008ae97960c8d551adcd9e23565194651b5d1
03adf42c988195b50e1a1935ba5fcbc39b2b029b
...</tt></pre>
</div></div>
</div>
<h2 id="_example">EXAMPLE</h2>
<div class="sectionbody">
<div class="paragraph"><p>To show all references called "master", whether tags or heads or anything
else, and regardless of how deep in the reference naming hierarchy they are,
use:</p></div>
<div class="listingblock">
<div class="content">
<pre><tt> git show-ref master</tt></pre>
</div></div>
<div class="paragraph"><p>This will show "refs/heads/master" but also "refs/remote/other-repo/master",
if such references exists.</p></div>
<div class="paragraph"><p>When using the <em>--verify</em> flag, the command requires an exact path:</p></div>
<div class="listingblock">
<div class="content">
<pre><tt> git show-ref --verify refs/heads/master</tt></pre>
</div></div>
<div class="paragraph"><p>will only match the exact branch called "master".</p></div>
<div class="paragraph"><p>If nothing matches, <em>git show-ref</em> will return an error code of 1,
and in the case of verification, it will show an error message.</p></div>
<div class="paragraph"><p>For scripting, you can ask it to be quiet with the "--quiet" flag, which
allows you to do things like</p></div>
<div class="listingblock">
<div class="content">
<pre><tt> git show-ref --quiet --verify -- "refs/heads/$headname" ||
echo "$headname is not a valid branch"</tt></pre>
</div></div>
<div class="paragraph"><p>to check whether a particular branch exists or not (notice how we don&#8217;t
actually want to show any results, and we want to use the full refname for it
in order to not trigger the problem with ambiguous partial matches).</p></div>
<div class="paragraph"><p>To show only tags, or only proper branch heads, use "--tags" and/or "--heads"
respectively (using both means that it shows tags and heads, but not other
random references under the refs/ subdirectory).</p></div>
<div class="paragraph"><p>To do automatic tag object dereferencing, use the "-d" or "--dereference"
flag, so you can do</p></div>
<div class="listingblock">
<div class="content">
<pre><tt> git show-ref --tags --dereference</tt></pre>
</div></div>
<div class="paragraph"><p>to get a listing of all tags together with what they dereference.</p></div>
</div>
<h2 id="_files">FILES</h2>
<div class="sectionbody">
<div class="paragraph"><p><tt>.git/refs/*</tt>, <tt>.git/packed-refs</tt></p></div>
</div>
<h2 id="_see_also">SEE ALSO</h2>
<div class="sectionbody">
<div class="paragraph"><p><a href="git-ls-remote.html">git-ls-remote(1)</a>,
<a href="git-update-ref.html">git-update-ref(1)</a>,
<a href="gitrepository-layout.html">gitrepository-layout(5)</a></p></div>
</div>
<h2 id="_git">GIT</h2>
<div class="sectionbody">
<div class="paragraph"><p>Part of the <a href="git.html">git(1)</a> suite</p></div>
</div>
<div id="footer">
<div id="footer-text">
Last updated 2011-03-15 23:30:14 UTC
</div>
</div>
</body>
</html>