【问题标题】:Git tags based on a pattern基于模式的 Git 标签
【发布时间】:2020-12-02 09:18:41
【问题描述】:

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

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) 尝试过,但似乎不起作用。还有其他方法可以获取特定格式的标签吗?

【问题讨论】:

  • 谢谢。它奏效了。

标签: regex git shell tags


【解决方案1】:

您可以使用以下 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\} - 十二位数字或小写字母。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-11
    • 1970-01-01
    • 2018-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多