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仅显示。
描述命令中没有选项可以执行您想要的操作。您可以将输出通过管道传输到删除散列的 shell 脚本。
git describe --tags | sed 's/\(.*\)-.*/\1/'
Run Code Online (Sandbox Code Playgroud)
谢谢 !
我遇到了一个类似的问题,我想生成一个字符串,例如:“ 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个字符。