List tags for a certain branch
- From
- CoDEmanX <codemanx@gmx.de>
- Date
- Aug 23, 2015, 15:27 UTC
- Message-ID
- <55D9E672.4050503@gmx.de>
Hi everyone,
the question how to list tags, that point to commits contained in a certain branch came up on StackOverflow couple times, and this appears to be the only fast solution (example for local devel branch):
git log --simplify-by-decoration --decorate --pretty=%d "refs/heads/devel" | fgrep 'tag: '
It would be much much simpler, if the tag command supporter an optional parameter to specify a branch:
git tag --list --branch devel
It should result in something like:
Test-Tag1 Test-Tag2 Test-Tag3 Another-Tag And-Another
... even if all three Test-Tag* tags point to the same commit!
What above mentioned git log-solution does in this situtation is:
(HEAD, tag: Test-Tag1, tag: Test-Tag2, Test-Tag3, fork/devel, devel) (tag: Another-Tag) (tag: And-Another)
BTW: git describe FULL_HASH can't be used to return all tags that point to the given hash. The only workaround seems to be:
git for-each-rev ref/tags | grep FULL_HASH
I hope you consider to add the proposed --branch option to a future git version. Thanks!
SO question that started the discussion:
http://stackoverflow.com/questions/32166548/how-to-list-all-tags-within-a-certain-git-branch
Best, Cody