日本語 ▾ トピック ▾ 最新バージョン ▾ 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=<パターン>

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

--exclude=<パターン>

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

--all

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

--annotate-stdin

標準入力を変換し、すべての40文字のSHA-1ハッシュ (例: $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 と一緒に指定すると、通常のタグプレフィックス「tags/」も名前から省略され、git-describe の出力とより一致します。

--no-undefined

参照が未定義の場合、undefined と表示する代わりに、エラーコード != 0 で終了します。

--always

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

コミットが与えられた場合、それがローカルの参照と比較してどこにあるかを見つけます。例えば、誰かが素晴らしいコミット 33db5f4d9027a10e477ccf054b2c1ab94f74c85a についてあなたに伝えました。もちろん、そのコミットを調べますが、それだけでは何が起こったかは分かっても、そのコンテキストは分かりません。

そこで git name-rev を使います。

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

これで、それが v0.99 の940リビジョン前に行われたことが分かり、より賢くなりました。

他にもできることとして、

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

GIT

git[1]スイートの一部

scroll-to-top