]>
Commit | Line | Data |
---|---|---|
bd321bcc JS |
1 | git-name-rev(1) |
2 | =============== | |
3 | ||
4 | NAME | |
5 | ---- | |
7bd7f280 | 6 | git-name-rev - Find symbolic names for given revs |
bd321bcc JS |
7 | |
8 | ||
9 | SYNOPSIS | |
10 | -------- | |
e448ff87 | 11 | [verse] |
b1889c36 | 12 | 'git name-rev' [--tags] [--refs=<pattern>] |
a8a5406a | 13 | ( --all | --stdin | <commit-ish>... ) |
bd321bcc JS |
14 | |
15 | DESCRIPTION | |
16 | ----------- | |
17 | Finds symbolic names suitable for human digestion for revisions given in any | |
0b444cdb | 18 | format parsable by 'git rev-parse'. |
bd321bcc JS |
19 | |
20 | ||
21 | OPTIONS | |
22 | ------- | |
23 | ||
24 | --tags:: | |
25 | Do not use branch names, but only tags to name the commits | |
26 | ||
2afc29aa | 27 | --refs=<pattern>:: |
98c5c4ad | 28 | Only use refs whose names match a given shell pattern. The pattern |
290be667 JK |
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. | |
2afc29aa | 32 | |
96415b49 JK |
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 | ||
bd321bcc JS |
42 | --all:: |
43 | List all commits reachable from all refs | |
44 | ||
34ae3b70 | 45 | --annotate-stdin:: |
3087b615 RR |
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 | |
34ae3b70 JC |
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. | |
bd321bcc | 76 | |
23615708 SP |
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 | |
02783075 | 80 | "tags/" is also omitted from the name, matching the output |
372c7676 | 81 | of `git-describe` more closely. |
23615708 | 82 | |
eba1351f SB |
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 | ||
76a8788c NTND |
90 | EXAMPLES |
91 | -------- | |
bd321bcc JS |
92 | |
93 | Given a commit, find out where it is relative to the local refs. Say somebody | |
2a75848e | 94 | wrote you about that fantastic commit 33db5f4d9027a10e477ccf054b2c1ab94f74c85a. |
bd321bcc JS |
95 | Of course, you look into the commit, but that only tells you what happened, but |
96 | not the context. | |
97 | ||
0b444cdb | 98 | Enter 'git name-rev': |
bd321bcc JS |
99 | |
100 | ------------ | |
101 | % git name-rev 33db5f4d9027a10e477ccf054b2c1ab94f74c85a | |
ee837244 | 102 | 33db5f4d9027a10e477ccf054b2c1ab94f74c85a tags/v0.99~940 |
bd321bcc JS |
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 | ||
bd321bcc JS |
113 | GIT |
114 | --- | |
9e1f0a85 | 115 | Part of the linkgit:git[1] suite |