我刚开始使用git和标签。我的团队成员运行了以下命令:
git tag v1.27.1
git push origin v1.27.1
现在当我在我的环境中运行git pull
,然后运行git tag
时,我希望看到所有标签的列表。我可以看到以类似方式推送到存储库中的其他标签,但是没有看到这个特定的标签。我想找出这个标签丢失的原因和位置,该如何做?应该采取什么方法?另外,创建了该标签的团队成员在运行
git tag
时可以在他的机器上看到该标签。谢谢!不幸的是,默认情况下git pull
不会获取标签。你需要运行git fetch --tags
,才能获取标签。
git pull
和git fetch
的默认行为仅检索当前引用可直接访问的标签。如果有任何标签无法访问,则不会被获取。使用--tags
参数告诉git要获取所有标签,无论它们是否可通过当前引用到达。
git tag
将会给你列出所有的标签。所以 git tag | grep v1.27.1
应该会显示你之前缺失的标签。如果你在使用 --tags
拉取后仍然看不到它,那么我建议你使用 git ls-remote <url-to-remote>
命令检查远程仓库,并在列表中查找该标签。如果它不存在,那么它从未被推送到你的中央仓库,因此开发人员需要将其推送。 - John Szakmeister
git pull
已经可以获取标签了。你只需要确保创建标签的机器执行git push --tags
命令,否则标签只会存在于该机器上! - P i