You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
109 lines
3.1 KiB
109 lines
3.1 KiB
git-describe(1) |
|
=============== |
|
|
|
NAME |
|
---- |
|
git-describe - Show the most recent tag that is reachable from a commit |
|
|
|
|
|
SYNOPSIS |
|
-------- |
|
'git-describe' [--all] [--tags] [--abbrev=<n>] <committish>... |
|
|
|
DESCRIPTION |
|
----------- |
|
The command finds the most recent tag that is reachable from a |
|
commit, and if the commit itself is pointed at by the tag, shows |
|
the tag. Otherwise, it suffixes the tag name with abbreviated |
|
object name of the commit. |
|
|
|
|
|
OPTIONS |
|
------- |
|
<committish>:: |
|
The object name of the committish. |
|
|
|
--all:: |
|
Instead of using only the annotated tags, use any ref |
|
found in `.git/refs/`. |
|
|
|
--tags:: |
|
Instead of using only the annotated tags, use any tag |
|
found in `.git/refs/tags`. |
|
|
|
--abbrev=<n>:: |
|
Instead of using the default 8 hexadecimal digits as the |
|
abbreviated object name, use <n> digits. |
|
|
|
--candidates=<n>:: |
|
Instead of considering only the 10 most recent tags as |
|
candidates to describe the input committish consider |
|
up to <n> candidates. Increasing <n> above 10 will take |
|
slightly longer but may produce a more accurate result. |
|
|
|
--debug:: |
|
Verbosely display information about the searching strategy |
|
being employed to standard error. The tag name will still |
|
be printed to standard out. |
|
|
|
EXAMPLES |
|
-------- |
|
|
|
With something like git.git current tree, I get: |
|
|
|
[torvalds@g5 git]$ git-describe parent |
|
v1.0.4-g2414721b |
|
|
|
i.e. the current head of my "parent" branch is based on v1.0.4, |
|
but since it has a few commits on top of that, it has added the |
|
git hash of the thing to the end: "-g" + 8-char shorthand for |
|
the commit `2414721b194453f058079d897d13c4e377f92dc6`. |
|
|
|
Doing a "git-describe" on a tag-name will just show the tag name: |
|
|
|
[torvalds@g5 git]$ git-describe v1.0.4 |
|
v1.0.4 |
|
|
|
With --all, the command can use branch heads as references, so |
|
the output shows the reference path as well: |
|
|
|
[torvalds@g5 git]$ git describe --all --abbrev=4 v1.0.5^2 |
|
tags/v1.0.0-g975b |
|
|
|
[torvalds@g5 git]$ git describe --all HEAD^ |
|
heads/lt/describe-g975b |
|
|
|
SEARCH STRATEGY |
|
--------------- |
|
|
|
For each committish supplied "git describe" will first look for |
|
a tag which tags exactly that commit. Annotated tags will always |
|
be preferred over lightweight tags, and tags with newer dates will |
|
always be preferred over tags with older dates. If an exact match |
|
is found, its name will be output and searching will stop. |
|
|
|
If an exact match was not found "git describe" will walk back |
|
through the commit history to locate an ancestor commit which |
|
has been tagged. The ancestor's tag will be output along with an |
|
abbreviation of the input committish's SHA1. |
|
|
|
If multiple tags were found during the walk then the tag which |
|
has the fewest commits different from the input committish will be |
|
selected and output. Here fewest commits different is defined as |
|
the number of commits which would be shown by "git log tag..input" |
|
will be the smallest number of commits possible. |
|
|
|
|
|
Author |
|
------ |
|
Written by Linus Torvalds <torvalds@osdl.org>, but somewhat |
|
butchered by Junio C Hamano <junkio@cox.net> |
|
|
|
Documentation |
|
-------------- |
|
Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>. |
|
|
|
GIT |
|
--- |
|
Part of the gitlink:git[7] suite |
|
|
|
|