git describe只显示最新标签和其他提交

Max*_*ens 5 git command-line git-describe

git describe是否有语法显示仅最新标签和其他提交?

让你得到

4.0.74.0.7
4.0.7-12自提交标记以来已进行12次提交4.0.7

git describe --tags与之非常接近,4.0.7-12-g09181但我还没有找到摆脱附加的哈希的方法。

git describe --tags --abbrev=2
Run Code Online (Sandbox Code Playgroud)

仍然显示 4.0.7-12-g0918

git describe --tags --abbrev=0
Run Code Online (Sandbox Code Playgroud)

4.0.7仅显示。

Max*_*ens 6

描述命令中没有选项可以执行您想要的操作。您可以将输出通过管道传输到删除散列的 shell 脚本。

git describe --tags | sed 's/\(.*\)-.*/\1/'
Run Code Online (Sandbox Code Playgroud)

/sf/answers/2245920071/

谢谢 !


Wou*_*ter 5

我遇到了一个类似的问题,我想生成一个字符串,例如:“ tag-commits”,但可以选择后面加上-dirty和/或-broken后缀。

1.0-3    
1.0-3-dirty
1.0-3-dirty-broken
Run Code Online (Sandbox Code Playgroud)

(脏仅表示您尚未提交更改)。

但是,可接受的答案将在末尾删除-dirty(或使用-broken时)标记,并将哈希保留在输出中。

为了解决这个问题,我编写了以下命令:

git describe --tags --dirty | sed 's/-g[a-z0-9]\{7\}//'
Run Code Online (Sandbox Code Playgroud)

这是可行的,因为哈希始终以“ g”开头,后跟7个字符。