[解決済み] あるgitタグが注釈付きか軽量かを見分けるにはどうしたらいいですか?
2023-02-26 19:24:14
質問
私のタイプ
git tag
と入力すると、現在のタグが一覧表示されます。
1.2.3
1.2.4
どれがアノテーションで、どれが軽量かを判断するにはどうしたらよいでしょうか?
どのように解決するのですか?
git for-each-ref
は、それぞれの参照先がデフォルトで何であるか、そのidとtypeを教えてくれます。タグだけに制限するには、次のようにします。
git for-each-ref refs/tags
.
[T]出力は3つのフィールドを持っています。オブジェクトのハッシュ、オブジェクトのタイプ、そしてオブジェクトを参照するrefs/tagsの名前です。いわゆる "lightweight"タグは、refs/tags 内の名前であり、それは
commit
オブジェクトを指す名前です。注釈付きタグ(quot;annotated" tag)は、refs/tags 内の名前であり、これはtag
オブジェクトを指す名前です。- ソロモン・スロー (コメント中)
以下はその一例です。
$ git for-each-ref refs/tags
902fa933e4a9d018574cbb7b5783a130338b47b8 commit refs/tags/v1.0-light
1f486472ccac3250c19235d843d196a3a7fbd78b tag refs/tags/v1.1-annot
fd3cf147ac6b0bb9da13ae2fb2b73122b919a036 commit refs/tags/v1.2-light
これを1つのrefに対してだけ行うには
git cat-file
-t
をローカルの参照に追加することで、例を続けることができます。
$ git cat-file -t v1.0-light
commit
$ git cat-file -t v1.1-annot
tag
タグはあらゆる Git オブジェクトを参照することができます。もしバディに一つのファイルだけを取得させ、レポに git サーバーがあれば
git tag forsam :that.file
で、Sam がファイルを取得して表示することができます。便利なコマンドのほとんどは、タグ付けされた blob やツリーをどう扱えばいいのかわかりません。
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] ローカルの Git リポジトリが元々クローンされた URL を特定するにはどうすればよいですか。
-
[解決済み] リモートタグを削除する方法を教えてください。
-
[解決済み] Git を使ってタグをリモートリポジトリにプッシュするには?
-
[解決済み] Gitで特定のタグをダウンロードする
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み】ローカルのGitブランチの名前を変更するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
git pull reports エラー: :cannot open .git/FETCH_HEAD:Permission denied (.git/FETCH_HEADを開くことができません。
-
git reset --hardとgit reset --softの違いについて
-
Gitのコミットでfatal: unable to auto-detect email addressのエラーが報告される。
-
[解決済み] IntelliJのShelveとGit stashの違いは何ですか?
-
[解決済み] Git: リモートブランチの情報を更新する
-
[解決済み] ローカルレポとリモートレポを接続する
-
[解決済み] git add --patch' で新しいファイルをインクルードする?
-
[解決済み] 別のユーザーでコードをコミットするにはどうすればよいですか?
-
[解決済み] Git の 'master' ブランチを 'release' にリネームするには?
-
[解決済み] Git タグリスト、コミット sha1 ハッシュの表示