セットアップと設定
プロジェクトの取得と作成
基本的なスナップショット
ブランチとマージ
プロジェクトの共有と更新
検査と比較
パッチ適用
デバッグ
メール
外部システム
サーバー管理
- 2.46.1 → 2.50.1 変更なし
-
2.46.0
2024-07-29
- 2.43.1 → 2.45.4 変更なし
-
2.43.0
2023-11-20
- 2.42.1 → 2.42.4 変更なし
-
2.42.0
2023-08-21
- 2.39.1 → 2.41.3 変更なし
-
2.39.0
2022-12-12
- 2.21.1 → 2.38.5 変更なし
-
2.21.0
2019-02-24
- 2.18.1 → 2.20.5 変更なし
-
2.18.0
2018-06-21
- 2.10.5 → 2.17.6 変更なし
-
2.9.5
2017-07-30
- 2.7.6 → 2.8.6 変更なし
-
2.6.7
2017-05-05
- 2.1.4 → 2.5.6 変更なし
-
2.0.5
2014-12-17
概要
git show-ref [--head] [-d | --dereference] [-s | --hash[=<n>]] [--abbrev[=<n>]] [--branches] [--tags] [--] [<pattern>…] git show-ref --verify [-q | --quiet] [-d | --dereference] [-s | --hash[=<n>]] [--abbrev[=<n>]] [--] [<ref>…] git show-ref --exclude-existing[=<pattern>] git show-ref --exists <ref>
説明
ローカルリポジトリ内で利用可能な参照と、それに関連するコミット ID を表示します。結果はパターンを使用してフィルタリングでき、タグはオブジェクト ID にデリファレンスできます。さらに、特定の参照が存在するかどうかをテストするためにも使用できます。
デフォルトでは、タグ、ヘッド、およびリモート参照を表示します。
--exclude-existing
形式は、その逆を行うフィルターです。標準入力から1行に1つの参照を読み取り、ローカルリポジトリに存在しない参照を表示します。
--exists
形式は、単一の参照の存在を確認するために使用できます。この形式は、参照が実際のオブジェクトに解決されるかどうかは検証しません。
.git
ディレクトリの下のファイルに直接アクセスする代わりに、このユーティリティを使用することが推奨されます。
オプション
- --head
-
通常はフィルタリングされる場合でも、HEAD 参照を表示します。
- --branches
- --tags
-
それぞれ、ローカルブランチとローカルタグに限定します。これらのオプションは排他的ではありません。両方指定すると、「refs/heads」と「refs/tags」に格納されている参照が表示されます。なお、
--heads
は--branches
の非推奨の同義語であり、将来削除される可能性があります。 - -d
- --dereference
-
タグもオブジェクト ID にデリファレンスします。
^{}
が追加されて表示されます。 - -s
- --hash[=<n>]
-
参照名ではなく OID のみを表示します。
--dereference
と組み合わせると、デリファレンスされたタグは OID の後に引き続き表示されます。 - --verify
-
厳密な参照チェックを有効にし、正確な参照パスを要求します。
--quiet
が指定されていない場合、エラーコード 1 を返すだけでなく、エラーメッセージも出力します。 - --exists
-
指定された参照が存在するかどうかを確認します。存在する場合は終了コード 0 を、存在しない場合は 2 を、参照が見つからない以外のエラーで参照の検索が失敗した場合は 1 を返します。
- --abbrev[=<n>]
-
オブジェクト名を省略します。
--hash
を使用する場合、--hash
--abbrev
と言う必要はありません。--hash=n
で十分です。 - -q
- --quiet
-
標準出力に結果を一切出力しません。
--verify
と組み合わせて、参照が存在するかどうかを静かに確認するために使用できます。 - --exclude-existing[=<pattern>]
-
git
show-ref
を、標準入力から ^(?:<anything>\s)?<refname>(?:\^{})?$ の形式の参照を読み取り、それぞれに対して以下の操作を実行するフィルターとして機能させます。(1) 行末に^{}
があれば削除する。(2) パターンが提供され、参照名に先頭一致しない場合は無視する。(3) 参照名が整形式でない場合は警告し、スキップする。(4) 参照名がローカルリポジトリに存在する参照である場合は無視する。(5) それ以外の場合は行を出力する。 - <pattern>…
-
1つ以上のパターンに一致する参照を表示します。パターンは完全名の末尾から一致し、完全な部分のみが一致します。例えば、master は refs/heads/master、refs/remotes/origin/master、refs/tags/jedi/master に一致しますが、refs/heads/mymaster や refs/remotes/master/jedi には一致しません。
出力
出力形式は次のとおりです。
<oid> SP <ref> LF
例:
$ git show-ref --head --dereference 832e76a9899f560a90ffd62ae2ce83bbeff58f54 HEAD 832e76a9899f560a90ffd62ae2ce83bbeff58f54 refs/heads/master 832e76a9899f560a90ffd62ae2ce83bbeff58f54 refs/heads/origin 3521017556c5de4159da4615a39fa4d5d2c279b5 refs/tags/v0.99.9c 6ddc0964034342519a87fe013781abf31c6db6ad refs/tags/v0.99.9c^{} 055e4ae3ae6eb344cbabf2a5256a49ea66040131 refs/tags/v1.0rc4 423325a2d24638ddcc82ce47be5e40be550f4507 refs/tags/v1.0rc4^{} ...
--hash
を使用する場合(--dereference
を使用しない場合)、出力形式は次のとおりです。
<oid> LF
例:
$ git show-ref --branches --hash 2e3ba0114a1f52b47df29743d6915d056be13278 185008ae97960c8d551adcd9e23565194651b5d1 03adf42c988195b50e1a1935ba5fcbc39b2b029b ...
例
タグ、ヘッド、その他何であれ、「master」という名前のすべての参照を、参照命名階層の深さに関係なく表示するには、次を使用します。
git show-ref master
これにより、「refs/heads/master」だけでなく、「refs/remote/other-repo/master」も(そのような参照が存在する場合)表示されます。
--verify
フラグを使用する場合、コマンドは正確なパスを要求します。
git show-ref --verify refs/heads/master
は、正確に「master」というブランチにのみ一致します。
何も一致しない場合、git
show-ref
はエラーコード 1 を返し、検証の場合にはエラーメッセージを表示します。
スクリプト作成のために、--quiet
フラグで静かに実行するように要求できます。これにより、次のようなことが可能になります。
git show-ref --quiet --verify -- "refs/heads/$headname" || echo "$headname is not a valid branch"
特定のブランチが存在するかどうかを確認します(結果を実際に表示したくないこと、および部分一致による曖昧さの問題を回避するために完全な参照名を使用したいことに注意してください)。
タグのみ、または適切なブランチヘッドのみを表示するには、それぞれ --tags
および/または --branches
を使用します(両方使用すると、タグとブランチは表示されますが、refs/サブディレクトリ下のその他のランダムな参照は表示されません)。
自動タグオブジェクトデリファレンスを行うには、-d
または --dereference
フラグを使用します。これにより、次のように実行できます。
git show-ref --tags --dereference
すべてのタグと、それらがデリファレンスするものを一覧表示できます。
GIT
git[1]スイートの一部