[ , 2015: VonC], git branch -a --contains git tag --contains , "".
( ) . , " ", git for-each-ref. :
$ git for-each-ref
996b0fdbb4ff63bfd880b3901f054139c95611cf commit refs/heads/master
740c281d21ef5b27f6f1b942a4f2fc20f51e8c7e commit refs/remotes/origin/maint
996b0fdbb4ff63bfd880b3901f054139c95611cf commit refs/remotes/origin/master
7327a17171fc87d5f8f5c790eb1ba1d0e031482d commit refs/remotes/origin/next
[... snip]
efe35e936c6c32a7630086a84b2c3b3471ea534f tag refs/tags/v2.0.1
b4463ead04f1801104502ea087dbb6bdd21b4ef1 tag refs/tags/v2.0.2
3c81e95201ece182e799709c91b15a3501919d26 tag refs/tags/v2.0.3
( git for-each-refs git , ).
, , --contains . , , --contains git merge-base, --is-ancestor. git branch , --contains , - SHA-1, refs/heads/ refs/remotes/ - . " " , " ", :
$ git branch --contains 996b0fd^
* master
$ git rev-parse 996b0fd^
6da748a7cebe3911448fabf9426f81c9df9ec54f
master 996b0fd..., --contains 996b0fd, 6da748a..., , git merge-base --is-ancestor:
$ git merge-base --is-ancestor 6da748a 996b0fd && echo ok
ok
, 996b0fd :
$ git merge-base --is-ancestor 996b0fd 996b0fd && echo ok
ok
, , , git for-each-ref , git merge-base --is-ancestor.