git-name-rev
Find symbolic names for given revs
SYNOPSIS
gitname -rev [ --tags] [ --refs=<pattern>] ( --all | --stdin | <commit -ish> ... )
DESCRIPTION
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 one of branch name, tag name or 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
--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 . Intended for the scripter use .
--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
% git name -rev 33db5f4d9027a10e477ccf054b2c1ab94f74c85a 33db5f4d9027a10e477ccf054b2c1ab94f74c85a tags/v0 .99~940 .RE Now you are wiser, because you know that it happened 940 revisions before v0 .99 . Another nice thing you can do is: .RS 4
% git log | git name -rev --stdin .RE