English ▾ Themen ▾ Neueste Version ▾ git-name-rev zuletzt aktualisiert in 2.43.0

NAME

git-name-rev - Symbolische Namen für gegebene Revs finden

SYNOPSIS

git name-rev [--tags] [--refs=<pattern>]
	       ( --all | --annotate-stdin | <commit-ish>…​ )

BESCHREIBUNG

Findet für Revisionen, die in einem von git rev-parse lesbaren Format gegeben sind, für Menschen verständliche symbolische Namen.

OPTIONEN

--tags

Verwenden Sie keine Branch-Namen, sondern nur Tags, um die Commits zu benennen

--refs=<Muster>

Verwenden Sie nur Refs, deren Namen mit einem gegebenen Shell-Muster übereinstimmen. Das Muster kann ein Branch-Name, ein Tag-Name oder ein vollständig qualifizierter Ref-Name sein. Wenn mehrmals angegeben, verwenden Sie Refs, deren Namen mit einem der gegebenen Shell-Muster übereinstimmen. Verwenden Sie --no-refs, um alle zuvor gegebenen Ref-Muster zu löschen.

--exclude=<Muster>

Verwenden Sie keine Refs, deren Namen mit einem gegebenen Shell-Muster übereinstimmen. Das Muster kann ein Branch-Name, ein Tag-Name oder ein vollständig qualifizierter Ref-Name sein. Wenn mehrmals angegeben, wird ein Ref verwendet, wenn es mit einem der gegebenen Muster übereinstimmt. Wenn zusammen mit --refs verwendet, wird ein Ref nur dann als Übereinstimmung betrachtet, wenn es mit mindestens einem --refs-Muster übereinstimmt und mit keinem --exclude-Muster übereinstimmt. Verwenden Sie --no-exclude, um die Liste der Ausschlussmuster zu löschen.

--all

Listen Sie alle Commits auf, die von allen Refs erreichbar sind

--annotate-stdin

Transformieren Sie stdin, indem Sie alle 40-stelligen SHA-1-Hexadezimalwerte (sagen wir $hex) durch "$hex ($rev_name)" ersetzen. Wenn mit --name-only verwendet, ersetzen Sie durch "$rev_name", wobei $hex ganz weggelassen wird. Diese Option hieß in älteren Git-Versionen --stdin.

Zum Beispiel

$ 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

Anstatt sowohl die SHA-1 als auch den Namen auszugeben, geben Sie nur den Namen aus. Wenn mit --tags angegeben, wird das übliche Tag-Präfix "tags/" ebenfalls vom Namen weggelassen, was der Ausgabe von git-describe näher kommt.

--no-undefined

Beenden Sie mit einem Fehlercode != 0, wenn eine Referenz undefiniert ist, anstatt undefined auszugeben.

--always

Zeigen Sie als Fallback einen eindeutig abgekürzten Commit-Objekt an.

BEISPIELE

Finden Sie für einen gegebenen Commit heraus, wo er sich relativ zu den lokalen Refs befindet. Sagen wir, jemand hat Ihnen von diesem fantastischen Commit 33db5f4d9027a10e477ccf054b2c1ab94f74c85a erzählt. Natürlich schauen Sie sich den Commit an, aber das sagt Ihnen nur, was passiert ist, nicht den Kontext.

Geben Sie git name-rev ein

% git name-rev 33db5f4d9027a10e477ccf054b2c1ab94f74c85a
33db5f4d9027a10e477ccf054b2c1ab94f74c85a tags/v0.99~940

Jetzt sind Sie weiser, denn Sie wissen, dass er 940 Revisionen vor v0.99 stattfand.

Eine weitere nette Sache, die Sie tun können, ist

% git log | git name-rev --annotate-stdin

GIT

Teil der git[1] Suite