2

when I run git tag command in linux terminal I get output as

bssg-v1.0-alpha.0.1
bssg-v1.0-alpha.0.2
bssg-v1.0-alpha.0.3
bssg-v1.0-alpha.0.4
dummy
opal-0.5
opal-0.6
pisn_final
pisn_v1.2
pisn_v1.2.1
pisn_v1.2.2
pisn_v1.3
pisn_v1.3.1
pisn_v1.3.2
pisn_v1.3.3
pisn_v1.3.4
ralp_0.1
ralp_0.2
ralp_0.3
ralp_0.4
ralp_0.4.1
ralp_0.4.2
salp-v0.1-alpha.0.1
salp-v0.1-alpha.0.2
salp-v0.1-alpha.0.3
salp-v0.1-alpha.0.4
tms-1a-0.3
tms-1a-0.4

What i want is this kind of output...

bssg
dummy
opal
pisn
ralp
salp
tms

i.e on running git tag I should get only characters before any '-' or '_' and that too only once. How can I do this.. ???

Ankit Sahu
  • 193
  • 2
  • 10

1 Answers1

3

git tag itself doesn't seem to have that filtering capability.
(even though its sort ordering did improve recently)

But a shell does (even on Windows, with the one packaged with git for windows)

git tag|sed "s/\([^-_]*\)[-_].*/\1/g"|sort|uniq
Community
  • 1
  • 1
VonC
  • 1,262,500
  • 529
  • 4,410
  • 5,250