git-show-ref.html   [plain text]


<!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-04-19 22:26:58 UTC
</div>
</div>
</body>
</html>