Git
English ▾ トピック ▾ 最新バージョン ▾ git-name-rev は2.43.0で最後に更新されました

名前

git-name-rev - 指定されたリビジョンのシンボリック名を見つける

概要

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

説明

git rev-parseで解析可能な任意形式で与えられたリビジョンについて、人が理解しやすいシンボリック名を見つけます。

オプション

--tags

ブランチ名を使用せず、コミットに名前を付けるためにタグのみを使用します。

--refs=<パターン>

名前が指定されたシェルパターンに一致する ref のみを使用します。パターンは、ブランチ名、タグ名、または完全修飾された ref 名にすることができます。複数回指定された場合は、名前が与えられたシェルパターンいずれかに一致する ref を使用します。以前に指定された ref パターンをクリアするには、--no-refs を使用します。

--exclude=<パターン>

名前が指定されたシェルパターンに一致する ref を使用しません。パターンは、ブランチ名、タグ名、または完全修飾された ref 名のいずれかにすることができます。複数回指定された場合、ref はいずれかの指定されたパターンに一致すると除外されます。--refs と組み合わせて使用すると、ref は少なくとも 1 つの --refs パターンに一致し、--exclude パターンに一致しない場合にのみ一致として使用されます。除外パターンのリストをクリアするには、--no-exclude を使用します。

--all

すべての ref から到達可能なすべてのコミットをリストします

--annotate-stdin

stdin を、すべての 40 文字の SHA-1 16 進数(たとえば $hex)を "$hex ($rev_name)" で置換することで変換します。 --name-only と組み合わせて使用すると、$hex を完全に省略して "$rev_name" で置換します。このオプションは、Git の古いバージョンでは --stdin と呼ばれていました。

$ 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

SHA-1 と名前の両方を出力する代わりに、名前のみを出力します。--tags と組み合わせて指定された場合、git-describe の出力とより一致するように、通常のタグ接頭辞 "tags/" も名前から省略されます。

--no-undefined

参照が未定義の場合、undefined を出力するのではなく、エラーコード != 0 で終了します。

--always

フォールバックとして、一意に省略されたコミットオブジェクトを表示します。

コミットが与えられたら、それがローカルの ref に対してどこにあるのかを調べます。 たとえば、誰かが素晴らしいコミット 33db5f4d9027a10e477ccf054b2c1ab94f74c85a についてあなたに書いてきたとしましょう。 もちろん、あなたはコミットを調べますが、それは何が起こったかを教えてくれるだけで、状況は教えてくれません。

git name-revを入力します。

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

v0.99 の 940 リビジョン前に発生したことがわかるので、あなたは賢くなりました。

もう 1 つ良いことができることは、

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

GIT

git[1] スイートの一部

scroll-to-top