git 标签不再被识别

gha*_*ndi 1 git git-tag git-describe

我的 git 存储库遇到了一个奇怪的问题。它突然“停止”使用标签。我可以创建标签,我可以列出标签。我什至可以使用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'
Run Code Online (Sandbox Code Playgroud)

我已经尝试过运行git fsck --full,它只修复了一些悬空的提交,这对我来说看起来很好(因为我进行了很多变基)。

另一个有趣的事情是:该工具gitg没有显示这些“新”提交的任何历史记录。而对于“旧”承诺,一切都按预期进行。

有人知道这里发生了什么事吗?

在 3 台机器上测试,全部运行 git 版本 2.17.1。

hoi*_*jui 5

git tag默认创建一个无注释的标签;用来-a改变这个。

git describe默认情况下仅指带注释的标签;使用--all--tags改变这个。

这个答案最初是torek评论