2005-10-26 21:10:20 +08:00
|
|
|
git-name-rev(1)
|
|
|
|
===============
|
|
|
|
|
|
|
|
NAME
|
|
|
|
----
|
2006-03-10 00:24:50 +08:00
|
|
|
git-name-rev - Find symbolic names for given revs
|
2005-10-26 21:10:20 +08:00
|
|
|
|
|
|
|
|
|
|
|
SYNOPSIS
|
|
|
|
--------
|
2007-05-18 21:39:33 +08:00
|
|
|
[verse]
|
2008-06-30 14:09:04 +08:00
|
|
|
'git name-rev' [--tags] [--refs=<pattern>]
|
2013-09-05 03:04:31 +08:00
|
|
|
( --all | --stdin | <commit-ish>... )
|
2005-10-26 21:10:20 +08:00
|
|
|
|
|
|
|
DESCRIPTION
|
|
|
|
-----------
|
|
|
|
Finds symbolic names suitable for human digestion for revisions given in any
|
2010-01-10 07:33:00 +08:00
|
|
|
format parsable by 'git rev-parse'.
|
2005-10-26 21:10:20 +08:00
|
|
|
|
|
|
|
|
|
|
|
OPTIONS
|
|
|
|
-------
|
|
|
|
|
|
|
|
--tags::
|
|
|
|
Do not use branch names, but only tags to name the commits
|
|
|
|
|
2007-02-18 02:22:35 +08:00
|
|
|
--refs=<pattern>::
|
2013-06-18 20:35:31 +08:00
|
|
|
Only use refs whose names match a given shell pattern. The pattern
|
2017-01-19 07:06:05 +08:00
|
|
|
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.
|
2007-02-18 02:22:35 +08:00
|
|
|
|
2017-01-19 07:06:06 +08:00
|
|
|
--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.
|
|
|
|
|
2005-10-26 21:10:20 +08:00
|
|
|
--all::
|
|
|
|
List all commits reachable from all refs
|
|
|
|
|
|
|
|
--stdin::
|
2013-07-07 20:43:16 +08:00
|
|
|
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's use.
|
2005-10-26 21:10:20 +08:00
|
|
|
|
2007-05-21 15:20:25 +08:00
|
|
|
--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
|
2007-08-24 08:44:13 +08:00
|
|
|
"tags/" is also omitted from the name, matching the output
|
2008-08-03 02:58:34 +08:00
|
|
|
of `git-describe` more closely.
|
2007-05-21 15:20:25 +08:00
|
|
|
|
2008-06-08 09:36:12 +08:00
|
|
|
--no-undefined::
|
|
|
|
Die with error code != 0 when a reference is undefined,
|
|
|
|
instead of printing `undefined`.
|
|
|
|
|
|
|
|
--always::
|
|
|
|
Show uniquely abbreviated commit object as fallback.
|
|
|
|
|
2005-10-26 21:10:20 +08:00
|
|
|
EXAMPLE
|
|
|
|
-------
|
|
|
|
|
|
|
|
Given a commit, find out where it is relative to the local refs. Say somebody
|
2006-07-11 18:19:33 +08:00
|
|
|
wrote you about that fantastic commit 33db5f4d9027a10e477ccf054b2c1ab94f74c85a.
|
2005-10-26 21:10:20 +08:00
|
|
|
Of course, you look into the commit, but that only tells you what happened, but
|
|
|
|
not the context.
|
|
|
|
|
2010-01-10 07:33:00 +08:00
|
|
|
Enter 'git name-rev':
|
2005-10-26 21:10:20 +08:00
|
|
|
|
|
|
|
------------
|
|
|
|
% git name-rev 33db5f4d9027a10e477ccf054b2c1ab94f74c85a
|
2008-08-31 04:08:50 +08:00
|
|
|
33db5f4d9027a10e477ccf054b2c1ab94f74c85a tags/v0.99~940
|
2005-10-26 21:10:20 +08:00
|
|
|
------------
|
|
|
|
|
|
|
|
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 --stdin
|
|
|
|
------------
|
|
|
|
|
|
|
|
GIT
|
|
|
|
---
|
2008-06-06 15:07:32 +08:00
|
|
|
Part of the linkgit:git[1] suite
|