日本語 ▾ トピック ▾ 最新バージョン ▾ 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ヘックス(例:$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

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

特定のコミットがローカルのrefに対してどのような関係にあるかを知る。例えば、誰かが素晴らしいコミット 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