セットアップと設定
プロジェクトの取得と作成
基本的なスナップショット
ブランチとマージ
プロジェクトの共有と更新
検査と比較
パッチ
デバッグ
メール
外部システム
サーバー管理
ガイド
- gitattributes
- コマンドラインインターフェースの規約
- 日常的なGit
- よくある質問(FAQ)
- 用語集
- フック
- gitignore
- gitmodules
- リビジョン
- サブモジュール
- チュートリアル
- ワークフロー
- すべてのガイド...
管理
低レベルコマンド
- 2.46.1 → 2.47.0 変更なし
-
2.46.0
07/29/24
- 2.43.1 → 2.45.2 変更なし
-
2.43.0
11/20/23
- 2.42.1 → 2.42.3 変更なし
-
2.42.0
08/21/23
- 2.39.1 → 2.41.2 変更なし
-
2.39.0
12/12/22
- 2.21.1 → 2.38.5 変更なし
-
2.21.0
02/24/19
- 2.18.1 → 2.20.5 変更なし
-
2.18.0
06/21/18
- 2.10.5 → 2.17.6 変更なし
-
2.9.5
07/30/17
- 2.7.6 → 2.8.6 変更なし
-
2.6.7
05/05/17
- 2.1.4 → 2.5.6 変更なし
-
2.0.5
12/17/14
書式
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
-
正確な参照パスを要求することにより、より厳密な参照チェックを有効にします。エラーコード1を返す以外に、
--quiet
が指定されていない場合はエラーメッセージも出力します。 - --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)パターンが指定されていて、refnameと先頭一致しない場合は無視する。(3)refnameが正しい形式のrefnameでない場合は警告を出力してスキップする。(4)refnameがローカルリポジトリに存在する参照である場合は無視する。(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] スイートの一部