git-name-rev(1)
===============

NAME
----
git-name-rev - Find symbolic names for given revs


SYNOPSIS
--------
[verse]
'git name-rev' [--tags] [--refs=<pattern>]
	       ( --all | --annotate-stdin | <commit-ish>... )

DESCRIPTION
-----------
Finds symbolic names suitable for human digestion for revisions given in any
format parsable by 'git rev-parse'.


OPTIONS
-------

--tags::
	Do not use branch names, but only tags to name the commits

--refs=<pattern>::
	Only use refs whose names match a given shell pattern.  The pattern
	can be a branch name, a tag name, or a fully qualified ref name. If
	given multiple times, use refs whose names match any of the given shell
	patterns. Use `--no-refs` to clear any previous ref patterns given.

--exclude=<pattern>::
	Do not use any ref whose name matches a given shell pattern. The
	pattern can be one of branch name, tag name or fully qualified ref
	name. If given multiple times, a ref will be excluded when it matches
	any of the given patterns. When used together with --refs, a ref will
	be used as a match only when it matches at least one --refs pattern and
	does not match any --exclude patterns. Use `--no-exclude` to clear the
	list of exclude patterns.

--all::
	List all commits reachable from all refs

--annotate-stdin::
	Transform stdin by substituting all the 40-character SHA-1
	hexes (say $hex) with "$hex ($rev_name)".  When used with
	--name-only, substitute with "$rev_name", omitting $hex
	altogether. This option was called `--stdin` in older versions
	of Git.
+
For example:
+
-----------
$ cat sample.txt

An abbreviated revision 2ae0a9cb82 will not be substituted.
The full name after substitution is 2ae0a9cb8298185a94e5998086f380a355dd8907,
while its tree object is 70d105cc79e63b81cfdcb08a15297c23e60b07ad

$ git name-rev --annotate-stdin <sample.txt

An abbreviated revision 2ae0a9cb82 will not be substituted.
The full name after substitution is 2ae0a9cb8298185a94e5998086f380a355dd8907 (master),
while its tree object is 70d105cc79e63b81cfdcb08a15297c23e60b07ad

$ git name-rev --name-only --annotate-stdin <sample.txt

An abbreviated revision 2ae0a9cb82 will not be substituted.
The full name after substitution is master,
while its tree object is 70d105cc79e63b81cfdcb08a15297c23e60b07ad
-----------

--name-only::
	Instead of printing both the SHA-1 and the name, print only
	the name.  If given with --tags the usual tag prefix of
	"tags/" is also omitted from the name, matching the output
	of `git-describe` more closely.

--no-undefined::
	Die with error code != 0 when a reference is undefined,
	instead of printing `undefined`.

--always::
	Show uniquely abbreviated commit object as fallback.

EXAMPLES
--------

Given a commit, find out where it is relative to the local refs. Say somebody
wrote you about that fantastic commit 33db5f4d9027a10e477ccf054b2c1ab94f74c85a.
Of course, you look into the commit, but that only tells you what happened, but
not the context.

Enter 'git name-rev':

------------
% git name-rev 33db5f4d9027a10e477ccf054b2c1ab94f74c85a
33db5f4d9027a10e477ccf054b2c1ab94f74c85a tags/v0.99~940
------------

Now you are wiser, because you know that it happened 940 revisions before v0.99.

Another nice thing you can do is:

------------
% git log | git name-rev --annotate-stdin
------------

GIT
---
Part of the linkgit:git[1] suite
