git 标签不再被识别

git tags are not recognized anymore

我的 git 存储库出现了一个奇怪的问题。它突然 "stopped" 使用标签。我可以创建标签,我可以列出标签。我什至可以使用 git checkout $taggit logs $tag。但是当使用 git describe --exact-match 标签不再被检测到?这目前打破了我的管道,因为 master 上的标记提交似乎没有标记到 git 本身?一周前它运行完美。

$ git checkout master
$ git tag my-test-tag
$ git describe --exact-match
fatal: no tag exactly matches '4b2aa1dcf70eaf61640e6a983df82e1ffe3a5812'

我已经尝试了 运行 git fsck --full,它只修复了一些悬而未决的提交,这对我来说看起来不错(因为我做了很多变基)。

另一件有趣的事:工具 gitg 没有显示这些 "new" 提交的任何历史记录。虽然 "old" 提交一切都按预期工作。

有人知道这是怎么回事吗?

在 3 台机器上测试,所有 运行 git 版本 2.17.1.

git tag 默认创建一个非注释标签; 使用 -a 来改变它。

git describe默认只引用带注释的标签; 使用 --all--tags 来改变它。

这个回答原来是 by torek