git tag -l 不移除已删除的标签

git tag -l does not remove deleted tags

场景是这样

我将我的存储库克隆到我定期更新的目录

git pull

现在我又创建了一个目录并签出相同的存储库

我必须创建一些标签,但错误地创建了名称错误的标签 所以我从第一个目录中删除了标签

git tag -d old
git push origin :refs/tags/old
git push --tags

如果我在第二个目录中尝试

git tag -l

我无法获得同步信息,因为标签没有从列表中删除

然后我做了

git pull --tags

添加的标签得到反映,但删除的标签不会被删除。

git pull origin --tags

结果无变化

如何获得同步列表,以便删除的标签也反映在其他目录中。

以下将删除不在远程上的所有本地标签。

git fetch origin refs/tags/*:refs/tags/* --prune

为了自动获取标签,请将以下行添加到您的 .git/config 文件中 [remote "origin"] 的条目下。

fetch = refs/tags/*:refs/tags/*