7433627db12d311c38b0d8e63cf470b773b88209
   1git-name-rev(1)
   2===============
   3
   4NAME
   5----
   6git-name-rev - Find symbolic names for given revs
   7
   8
   9SYNOPSIS
  10--------
  11[verse]
  12'git name-rev' [--tags] [--refs=<pattern>]
  13               ( --all | --stdin | <commit-ish>... )
  14
  15DESCRIPTION
  16-----------
  17Finds symbolic names suitable for human digestion for revisions given in any
  18format parsable by 'git rev-parse'.
  19
  20
  21OPTIONS
  22-------
  23
  24--tags::
  25        Do not use branch names, but only tags to name the commits
  26
  27--refs=<pattern>::
  28        Only use refs whose names match a given shell pattern.  The pattern
  29        can be one of branch name, tag name or fully qualified ref name. If
  30        given multiple times, use refs whose names match any of the given shell
  31        patterns. Use `--no-refs` to clear any previous ref patterns given.
  32
  33--all::
  34        List all commits reachable from all refs
  35
  36--stdin::
  37        Transform stdin by substituting all the 40-character SHA-1
  38        hexes (say $hex) with "$hex ($rev_name)".  When used with
  39        --name-only, substitute with "$rev_name", omitting $hex
  40        altogether.  Intended for the scripter's use.
  41
  42--name-only::
  43        Instead of printing both the SHA-1 and the name, print only
  44        the name.  If given with --tags the usual tag prefix of
  45        "tags/" is also omitted from the name, matching the output
  46        of `git-describe` more closely.
  47
  48--no-undefined::
  49        Die with error code != 0 when a reference is undefined,
  50        instead of printing `undefined`.
  51
  52--always::
  53        Show uniquely abbreviated commit object as fallback.
  54
  55EXAMPLE
  56-------
  57
  58Given a commit, find out where it is relative to the local refs. Say somebody
  59wrote you about that fantastic commit 33db5f4d9027a10e477ccf054b2c1ab94f74c85a.
  60Of course, you look into the commit, but that only tells you what happened, but
  61not the context.
  62
  63Enter 'git name-rev':
  64
  65------------
  66% git name-rev 33db5f4d9027a10e477ccf054b2c1ab94f74c85a
  6733db5f4d9027a10e477ccf054b2c1ab94f74c85a tags/v0.99~940
  68------------
  69
  70Now you are wiser, because you know that it happened 940 revisions before v0.99.
  71
  72Another nice thing you can do is:
  73
  74------------
  75% git log | git name-rev --stdin
  76------------
  77
  78GIT
  79---
  80Part of the linkgit:git[1] suite