从当前提交中获取最新的git标记

Rot*_*miz 5 git git-tag

我试图从我树中的某个点获取最新的git标签.

树看起来如下:

* 334322c|2016-12-06| (tag: 0.1265, tag: 0.1264) (18 hours ago)
* 739392e|2016-12-06| (HEAD -> testbranch, tag: 0.1263, tag: 0.1262) (19 hours ago)
* 8ec1add|2016-12-06| (tag: 0.1261, tag: 0.1260, tag: 0.1259) (20 hours ago)
* 5b2667b|2016-12-06| (tag: 0.1258) (21 hours ago)
* c7ff4bc|2016-12-06| (tag: 0.1257, tag: 0.1256) (22 hours ago)
Run Code Online (Sandbox Code Playgroud)

0.1263 是我正在寻找的git标签.

739392e使用git describe --tags返回时0.1262,它只是该提交的第一个标记,而我没有得到所有候选者.

739392e使用git describe --tags $(git rev-list --tags --max-count=1)return时0.1265,树上的最新标记(无论HEAD在哪里).

Der*_*rek 0

您可以使用带有 list 选项的git tag 子命令来指向您正在检查的特定提交:

git tag -l --points-at <commit|object>
Run Code Online (Sandbox Code Playgroud)

如果您使用 git 2.0 或更高版本,它有一个--sort选项允许您按标签日期顺序降序对结果进行排序。