Củng cố một số câu trả lời:
git tag --contains [<ref>]
và
git tag --points-at [<ref>]
hay chỉ
git tag
hoạt động giống nhau, in bất kỳ (và tất cả) thẻ cho ref được chỉ định hoặc cam kết hiện tại nếu không được chỉ định.
git describe --tags [<ref>]
trong đó <ref>
mặc định cho cam kết hiện tại, thoát với 128 nếu không có thẻ nào được liên kết với cam kết và in một thẻ được liên kết với cam kết (dường như không có một mẫu).
git describe [<ref>]
hoạt động giống như với --tags
ngoại trừ việc nó chỉ in các thẻ được chú thích.
Chuyên cung cấp các tùy chọn --contains
để describe
sẽ in các thẻ đó là liên kết với tổ tiên của các quy định cam kết. Ví dụ
$ git init
Initialized empty Git repository in /tmp/test
$ git commit -m one --allow-empty
[master (root-commit) 7fdfff2] one
$ git commit -m two --allow-empty
[master cd5f8f1] two
$ git tag -am foo foo
$ git tag bar
$ git log --format=oneline
cd5f8f1f4f29eb164f83e224768ccaf37fe170ed (HEAD -> master, tag: foo, tag: bar) two
7fdfff2ce5e3347f8eee4c9f2413dbd4e90060e1 one
$ git describe 7fdfff2ce5e3347f8eee4c9f2413dbd4e90060e1
fatal: No tags can describe '7fdfff2ce5e3347f8eee4c9f2413dbd4e90060e1'.
Try --always, or create some tags.
$ git describe --contains 7fdfff2ce5e3347f8eee4c9f2413dbd4e90060e1
bar~1
git describe --tags <commit-id>
cho thẻ unannotated