Git 个基于模式的标签

Git tags based on a pattern

我们的存储库中有不同版本的标签。仅在假设该类型只出现一次的情况下,才需要获取特定的图案标签。 例如

v1.1.0
1.0
v1.0
v0.1.0-0.20201201002611-5424ca76ab3e
v1.2.0-alpha 

如何获取仅遵循 v0.1.0-0.20201201002611-5424ca76ab3e 的特定内容

我有正则表达式 v[0-9]*.[0-9]*.[0-9]-0.\d{14}-\b[0-9a-f]{12}\b

我用 git describe --match "v[0-9]*.[0-9]*.[0-9]-0.\d{14}-\b[0-9a-f]{12}\b" --abbrev=0 --tags $(git rev-list --tags) 试过了,但似乎不起作用。我可以通过其他方式获得特定格式的标签吗?

您可以使用以下 POSIX BRE 模式:

'v[0-9]*\(\.[0-9]*\)\{2\}-0\.[0-9]\{14\}-[0-9a-f]\{12\}'

哪里

  • v - 匹配 v
  • [0-9]* - 零个或多个数字
  • \(\.[0-9]*\)\{2\} - . 的两次重复和零个或多个数字
  • -0\. - 0. 字符串
  • [0-9]\{14\} - 十四位数字
  • - - 一个连字符
  • [0-9a-f]\{12\} - 十二位数字或小写字母。