make test
命令返回类似的输出
git describe --always --dirty
。
我想只提取my_tag-42-githash-dirty
信息,即在此之前删除所有字符。
我做了githash-dirty
作为一种解决方法。但我想要另一种解决方案,例如在Groovy中使用模式替换。或者也许是另一个专用的git命令。我怎样才能实现它?
另外,有时候,我的git标签也会包含git describe --match=NeVMatcH --always --dirty
。与-
答案 0 :(得分:1)
我倾向于同意关于请求git而不是后处理的评论,但如果你真的需要使用groovy来处理它,你可以做类似的事情:
git describe --always --dirty | groovy -e "print System.in.text.tokenize('-').takeRight(2).join('-')"
打印:
g6d67059-dirty
即。从System.in获取输入字符串,对dash -
上的字符串进行标记,该字符串为您提供列表['my','tag','42','githash','dirty']
,获取列表中最右边的两个元素并使用短划线连接它们。
我不会称之为强大,但它确实适用于您的示例数据。