Johannes Schindelin | bd321bc | 2005-10-26 15:10:20 +0200 | [diff] [blame] | 1 | git-name-rev(1) |
| 2 | =============== |
| 3 | |
| 4 | NAME |
| 5 | ---- |
Fredrik Kuivinen | 7bd7f28 | 2006-03-09 17:24:50 +0100 | [diff] [blame] | 6 | git-name-rev - Find symbolic names for given revs |
Johannes Schindelin | bd321bc | 2005-10-26 15:10:20 +0200 | [diff] [blame] | 7 | |
| 8 | |
| 9 | SYNOPSIS |
| 10 | -------- |
Matthias Kestenholz | e448ff8 | 2007-05-18 15:39:33 +0200 | [diff] [blame] | 11 | [verse] |
Jonathan Nieder | b1889c3 | 2008-06-30 01:09:04 -0500 | [diff] [blame] | 12 | 'git name-rev' [--tags] [--refs=<pattern>] |
Richard Hansen | a8a5406 | 2013-09-04 15:04:31 -0400 | [diff] [blame] | 13 | ( --all | --stdin | <commit-ish>... ) |
Johannes Schindelin | bd321bc | 2005-10-26 15:10:20 +0200 | [diff] [blame] | 14 | |
| 15 | DESCRIPTION |
| 16 | ----------- |
| 17 | Finds symbolic names suitable for human digestion for revisions given in any |
Thomas Rast | 0b444cd | 2010-01-10 00:33:00 +0100 | [diff] [blame] | 18 | format parsable by 'git rev-parse'. |
Johannes Schindelin | bd321bc | 2005-10-26 15:10:20 +0200 | [diff] [blame] | 19 | |
| 20 | |
| 21 | OPTIONS |
| 22 | ------- |
| 23 | |
| 24 | --tags:: |
| 25 | Do not use branch names, but only tags to name the commits |
| 26 | |
Johannes Schindelin | 2afc29a | 2007-02-17 19:22:35 +0100 | [diff] [blame] | 27 | --refs=<pattern>:: |
Namhyung Kim | 98c5c4a | 2013-06-18 21:35:31 +0900 | [diff] [blame] | 28 | Only use refs whose names match a given shell pattern. The pattern |
Jacob Keller | 290be66 | 2017-01-18 15:06:05 -0800 | [diff] [blame] | 29 | can be one of branch name, tag name or fully qualified ref name. If |
| 30 | given multiple times, use refs whose names match any of the given shell |
| 31 | patterns. Use `--no-refs` to clear any previous ref patterns given. |
Johannes Schindelin | 2afc29a | 2007-02-17 19:22:35 +0100 | [diff] [blame] | 32 | |
Jacob Keller | 96415b4 | 2017-01-18 15:06:06 -0800 | [diff] [blame] | 33 | --exclude=<pattern>:: |
| 34 | Do not use any ref whose name matches a given shell pattern. The |
| 35 | pattern can be one of branch name, tag name or fully qualified ref |
| 36 | name. If given multiple times, a ref will be excluded when it matches |
| 37 | any of the given patterns. When used together with --refs, a ref will |
| 38 | be used as a match only when it matches at least one --refs pattern and |
| 39 | does not match any --exclude patterns. Use `--no-exclude` to clear the |
| 40 | list of exclude patterns. |
| 41 | |
Johannes Schindelin | bd321bc | 2005-10-26 15:10:20 +0200 | [diff] [blame] | 42 | --all:: |
| 43 | List all commits reachable from all refs |
| 44 | |
John Cai | 34ae3b7 | 2022-01-05 23:29:31 +0000 | [diff] [blame] | 45 | --annotate-stdin:: |
Ramkumar Ramachandra | 3087b61 | 2013-07-07 18:13:16 +0530 | [diff] [blame] | 46 | Transform stdin by substituting all the 40-character SHA-1 |
| 47 | hexes (say $hex) with "$hex ($rev_name)". When used with |
| 48 | --name-only, substitute with "$rev_name", omitting $hex |
John Cai | 34ae3b7 | 2022-01-05 23:29:31 +0000 | [diff] [blame] | 49 | altogether. |
| 50 | + |
| 51 | For example: |
| 52 | + |
| 53 | ----------- |
| 54 | $ cat sample.txt |
| 55 | |
| 56 | An abbreviated revision 2ae0a9cb82 will not be substituted. |
| 57 | The full name after substitution is 2ae0a9cb8298185a94e5998086f380a355dd8907, |
| 58 | while its tree object is 70d105cc79e63b81cfdcb08a15297c23e60b07ad |
| 59 | |
| 60 | $ git name-rev --annotate-stdin <sample.txt |
| 61 | |
| 62 | An abbreviated revision 2ae0a9cb82 will not be substituted. |
| 63 | The full name after substitution is 2ae0a9cb8298185a94e5998086f380a355dd8907 (master), |
| 64 | while its tree object is 70d105cc79e63b81cfdcb08a15297c23e60b07ad |
| 65 | |
| 66 | $ git name-rev --name-only --annotate-stdin <sample.txt |
| 67 | |
| 68 | An abbreviated revision 2ae0a9cb82 will not be substituted. |
| 69 | The full name after substitution is master, |
| 70 | while its tree object is 70d105cc79e63b81cfdcb08a15297c23e60b07ad |
| 71 | ----------- |
| 72 | |
| 73 | --stdin:: |
| 74 | This option is deprecated in favor of 'git name-rev --annotate-stdin'. |
| 75 | They are functionally equivalent. |
Johannes Schindelin | bd321bc | 2005-10-26 15:10:20 +0200 | [diff] [blame] | 76 | |
Shawn O. Pearce | 2361570 | 2007-05-21 03:20:25 -0400 | [diff] [blame] | 77 | --name-only:: |
| 78 | Instead of printing both the SHA-1 and the name, print only |
| 79 | the name. If given with --tags the usual tag prefix of |
Brian Hetro | 0278307 | 2007-08-23 20:44:13 -0400 | [diff] [blame] | 80 | "tags/" is also omitted from the name, matching the output |
Junio C Hamano | 372c767 | 2008-08-02 11:58:34 -0700 | [diff] [blame] | 81 | of `git-describe` more closely. |
Shawn O. Pearce | 2361570 | 2007-05-21 03:20:25 -0400 | [diff] [blame] | 82 | |
Stephan Beyer | eba1351 | 2008-06-08 03:36:12 +0200 | [diff] [blame] | 83 | --no-undefined:: |
| 84 | Die with error code != 0 when a reference is undefined, |
| 85 | instead of printing `undefined`. |
| 86 | |
| 87 | --always:: |
| 88 | Show uniquely abbreviated commit object as fallback. |
| 89 | |
Nguyễn Thái Ngọc Duy | 76a8788 | 2018-04-30 17:35:33 +0200 | [diff] [blame] | 90 | EXAMPLES |
| 91 | -------- |
Johannes Schindelin | bd321bc | 2005-10-26 15:10:20 +0200 | [diff] [blame] | 92 | |
| 93 | Given a commit, find out where it is relative to the local refs. Say somebody |
Alp Toker | 2a75848 | 2006-07-11 11:19:33 +0100 | [diff] [blame] | 94 | wrote you about that fantastic commit 33db5f4d9027a10e477ccf054b2c1ab94f74c85a. |
Johannes Schindelin | bd321bc | 2005-10-26 15:10:20 +0200 | [diff] [blame] | 95 | Of course, you look into the commit, but that only tells you what happened, but |
| 96 | not the context. |
| 97 | |
Thomas Rast | 0b444cd | 2010-01-10 00:33:00 +0100 | [diff] [blame] | 98 | Enter 'git name-rev': |
Johannes Schindelin | bd321bc | 2005-10-26 15:10:20 +0200 | [diff] [blame] | 99 | |
| 100 | ------------ |
| 101 | % git name-rev 33db5f4d9027a10e477ccf054b2c1ab94f74c85a |
Junio C Hamano | ee83724 | 2008-08-30 13:08:50 -0700 | [diff] [blame] | 102 | 33db5f4d9027a10e477ccf054b2c1ab94f74c85a tags/v0.99~940 |
Johannes Schindelin | bd321bc | 2005-10-26 15:10:20 +0200 | [diff] [blame] | 103 | ------------ |
| 104 | |
| 105 | Now you are wiser, because you know that it happened 940 revisions before v0.99. |
| 106 | |
| 107 | Another nice thing you can do is: |
| 108 | |
| 109 | ------------ |
| 110 | % git log | git name-rev --stdin |
| 111 | ------------ |
| 112 | |
Johannes Schindelin | bd321bc | 2005-10-26 15:10:20 +0200 | [diff] [blame] | 113 | GIT |
| 114 | --- |
Christian Couder | 9e1f0a8 | 2008-06-06 09:07:32 +0200 | [diff] [blame] | 115 | Part of the linkgit:git[1] suite |