该git describe --always --dirty
命令返回类似于的输出my_tag-42-githash-dirty
。
我只想提取githash-dirty
信息,即删除之前的所有字符。
我做git describe --match=NeVMatcH --always --dirty
了周围的工作。但是我想要另一个解决方案,例如在Groovy中使用模式替换。或者也许是另一个专用的git命令。我该如何实现?
另外,有时,我的git标记中也会包含一个-
。喜欢my-tag-42-githash-dirty
我倾向于同意有关询问git而不是后处理的评论,但是如果您确实需要使用groovy处理此问题,则可以执行以下操作:
git describe --always --dirty | groovy -e "print System.in.text.tokenize('-').takeRight(2).join('-')"
打印:
g6d67059-dirty
即从System.in中获取输入字符串,在短划线上标记该字符串,-
这会给您一个列表['my','tag','42','githash','dirty']
,从列表中最右边的两个元素开始,并使用短划线将它们连接在一起。
我不会称其为健壮的,但它确实适用于您的示例数据。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句