|  | 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 |