如何获得git标签的总数

Rin*_*nav 4 versioning git gradle android-gradle-plugin

我想获取存储库中标签计数的总数

grgit库已经解决了这个问题。

git = org.ajoberstar.grgit.Grgit.open()
git.tag.list().size()
Run Code Online (Sandbox Code Playgroud)

但它在 groovy 中,我想要它的 gradle 版本。

git describe --tags $(git rev-list --tags --count)
Run Code Online (Sandbox Code Playgroud)

上面的代码给出了提交的总数

到目前为止,我有以下代码段可以获取提交的总数。

versionCode = { ->
    try {
        def stdout = new ByteArrayOutputStream()
        exec {
            commandLine 'git', 'rev-list', '--first-parent', '--count', 'HEAD'
            standardOutput = stdout
        }
        return Integer.parseInt(stdout.toString().trim())
    }
    catch (ignored) {
        return -1
    }
}
Run Code Online (Sandbox Code Playgroud)

我已经引用了这个 SO 问题,但没有正确的答案

Enc*_*lon 7

如果您不介意使用 git 以外的命令... git tag | wc -l

  • `x=0;git for-each-ref 参考/标签 | 阅读参考文献时;x=$((x+1)); 做 x=$((x+1)); 回显 $x; 完成 | 尾-n1` (3认同)