乐闻世界logo
搜索文章和话题

How do you push a tag to a remote repository using git

7 个月前提问
3 个月前修改
浏览次数66

6个答案

1
2
3
4
5
6

当您想要将本地的 Git 标签(tag)推送到远程仓库时,您可以使用 git push 命令来完成这个操作。这里有两种主要的情况:一种是推送单个标签,另一种是推送多个标签。下面我会详细解释这两种情况的操作方法。

推送单个标签到远程仓库

假设您已经创建了一个本地标签 v1.0,如果要将这个标签推送到远程仓库,您可以使用以下命令:

shell
git push origin v1.0

这里,origin 是远程仓库的默认名称,v1.0 是您要推送的标签名称。执行这个命令后,标签 v1.0 就会被推送到远程仓库中。

推送所有本地新建的标签到远程仓库

如果您想要一次性推送所有本地新建的标签到远程仓库,可以使用:

shell
git push origin --tags

这条命令会推送所有本地新建的标签到 origin 远程仓库。需要注意的是,这个命令不会推送已经删除的标签。

示例

假设您正在进行一个项目的版本发布,您创建了一个名为 v2.0 的标签来标记这个发布版本:

shell
git tag v2.0

创建标签后,您确认这个标签可以被推送到远程仓库与团队共享:

shell
git push origin v2.0

这样,您的团队成员就可以通过拉取远程标签来获取这个特定的项目快照了。

如果您的团队采取了版本号策略,并且您有一系列的标签(比如 v1.1, v1.2, v2.0 等)需要一起推送,那么您可能会选择推送所有标签:

shell
git push origin --tags

以上就是如何将 Git 标签推送到远程存储库的方法

2024年6月29日 12:07 回复

推送单个标签:

shell
git push origin <tag_name>

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

shell
# not recommended git push --tags
2024年6月29日 12:07 回复

git push --follow-tags

这是 Git 1.8.3 中引入的一个明智的选项:

shell
git push --follow-tags

它推送两个提交,并且仅推送同时满足以下条件的标签:

  • 带注释的
  • 从推送的提交中可以到达(祖先)

这是明智的,因为:

正是出于这些原因,--tags应该避免。

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

shell
git config --global push.followTags true

或者添加followTags = true到文件[push]的部分~/.gitconfig

视觉工作室代码

"git.followTagsWhenSync": true要在 Visual Studio Code 中激活此功能,请根据用户或工作区设置变量。GitHub

2024年6月29日 12:07 回复

要推送特定内容,一个标签执行以下操作 git push origin tag_name

2024年6月29日 12:07 回复

为了扩展Trevor 的答案,您可以一次推送单个标签或所有标签。

推送单个标签

shell
git push <remote> <tag>

这是解释这一点的相关文档的摘要(为简洁起见,省略了一些命令选项):

shell
git push [[<repository> [<refspec>]] <refspec>...

参数的格式<refspec>是...源 ref <src>,后跟冒号:,然后是目标 ref <dst>...

告诉<dst>远程端的哪个引用通过此推送进行更新...如果:<dst>省略,<src>则将更新相同的引用...

标签的<tag>含义与 相同refs/tags/<tag>:refs/tags/<tag>

一次推送所有标签

shell
git push --tags <remote> # Or git push <remote> --tags

以下是相关文档的摘要(为简洁起见,省略了一些命令选项):

shell
git push [--all | --mirror | --tags] [<repository> [<refspec>]] --tags

refs/tags除了命令行上明确列出的参考规范之外,所有参考文献都会被推送。

2024年6月29日 12:07 回复

在当前分支中添加标签。如果您想为您的 master 创建标签,请首先签出 master。

shell
git tag tag_name

检查是否创建

shell
git tag

推入您的远程源

shell
git push origin tag_name
2024年6月29日 12:07 回复

你的答案