如何对 groovy 中的 Git 标签进行排序?

How to sort Git tags in groovy?

我正在尝试通过 groovy 脚本按降序获取所有 git 标签。 我在脚本中使用以下命令。

def gettagsUrl = "git ls-remote --tags https://" + bitbucketUser + ":" + bitbucketPass +"bitbucket/scm/config/configurations-" + "Object" +".git" +"|" + command

def command = ['#!/bin/bash', '-c' , sort -Vr -k2 ]

但我遇到以下错误:-

groovy.lang.MissingPropertyException: No such property: sort for class: Script1 at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:53)

我的git版本是1.8.3.1

任何人都可以在这里提供帮助。 TIA

git tag 命令有一个选项可以将标签排序为版本号:

git tag --sort="version:refname"

所有的细节都可以阅读in the docs

对于这个版本 Groovy 脚本适合我获取标签

def gettagsUrl =[ "/bin/bash","-c" , "git ls-remote https://" + bitbucketUser + ":" + bitbucketPass
+"bitbucket/scm/config/configurations-" + "Object" +".git" | awk '{print $2}' | grep -v '\^{}$' | sort -r -V | sed 's@refs/tags/@@' " ]