0

我的 git 存储库有一个奇怪的问题。它突然“停止”使用标签。我可以创建标签,我可以列出标签。我什至可以使用git checkout $tagor git 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没有显示这些“新”提交的任何历史记录。而对于“旧”提交,一切都按预期工作。

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

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

4

1 回答 1

2

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

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

这个答案最初是torek的评论

于 2020-04-13T05:51:21.970 回答