Documentation / git-name-rev.txton commit cherry-pick: add t3512 for submodule updates (283f56a)
   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.
  30
  31--all::
  32        List all commits reachable from all refs
  33
  34--stdin::
  35        Transform stdin by substituting all the 40-character SHA-1
  36        hexes (say $hex) with "$hex ($rev_name)".  When used with
  37        --name-only, substitute with "$rev_name", omitting $hex
  38        altogether.  Intended for the scripter's use.
  39
  40--name-only::
  41        Instead of printing both the SHA-1 and the name, print only
  42        the name.  If given with --tags the usual tag prefix of
  43        "tags/" is also omitted from the name, matching the output
  44        of `git-describe` more closely.
  45
  46--no-undefined::
  47        Die with error code != 0 when a reference is undefined,
  48        instead of printing `undefined`.
  49
  50--always::
  51        Show uniquely abbreviated commit object as fallback.
  52
  53EXAMPLE
  54-------
  55
  56Given a commit, find out where it is relative to the local refs. Say somebody
  57wrote you about that fantastic commit 33db5f4d9027a10e477ccf054b2c1ab94f74c85a.
  58Of course, you look into the commit, but that only tells you what happened, but
  59not the context.
  60
  61Enter 'git name-rev':
  62
  63------------
  64% git name-rev 33db5f4d9027a10e477ccf054b2c1ab94f74c85a
  6533db5f4d9027a10e477ccf054b2c1ab94f74c85a tags/v0.99~940
  66------------
  67
  68Now you are wiser, because you know that it happened 940 revisions before v0.99.
  69
  70Another nice thing you can do is:
  71
  72------------
  73% git log | git name-rev --stdin
  74------------
  75
  76GIT
  77---
  78Part of the linkgit:git[1] suite