9

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

仍然显示4.0.7-12-g0918

git describe --tags --abbrev=0

仅显示4.0.7

4

2 回答 2

6

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

git describe --tags | sed 's/\(.*\)-.*/\1/'

https://stackoverflow.com/a/32084572/1468708

谢谢 !

于 2016-05-20T09:30:26.140 回答
5

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

1.0-3    
1.0-3-dirty
1.0-3-dirty-broken

(脏只是表示您有未提交的更改)。

但是,接受的答案将在末尾删除 -dirty(或使用时 -broken)标签,并将散列留在输出中。

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

git describe --tags --dirty | sed 's/-g[a-z0-9]\{7\}//'

这是有效的,因为哈希总是以“g”开头,后跟 7 个字符。

于 2017-10-25T07:52:44.733 回答