协慌网

登录 贡献 社区

如何使用 Git 将标签推送到远程存储库?

我已经将一个远程 Git 存储库克隆到了我的笔记本电脑,然后我想添加一个标签,所以我跑了

git tag mytag master

当我在笔记本电脑上运行git tag ,会显示标签mytag 。然后我想将它推送到远程存储库,所以我在所有客户端都有这个标签,所以我运行git push但是我收到了消息:

一切都是最新的

如果我去我的桌面并运行git pull然后git tag没有显示标签。

我还尝试对项目中的文件进行微小更改,然后将其推送到服务器。之后,我可以将更改从服务器拉到我的台式计算机,但在台式计算机上运行git tag时仍然没有标签。

如何将我的标签推送到远程存储库,以便所有客户端计算机都可以看到它?

答案

要推送单个标签:

git push origin <tag_name>

并且以下命令应该推送所有标签(不推荐):

git push --tags

git push --follow-tags

这是 Git 1.8.3 中引入的理智选择:

git push --follow-tags

它推送两个提交,只推送两个标签:

  • 注释
  • 来自推送提交的可达(祖先)

这是理智的,因为:

出于这些原因,应该避免使用--tags

Git 2.4 添加push.followTags选项以默认打开该标志,您可以使用以下设置:

git config --global push.followTags true

要推送特定的,一个标签执行以下git push origin tag_name