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

问:

我在机器上的 master 分支上添加了一个标签:

git tag mytag master

如何将其推送到远程存储库?运行 git push 给出消息:

一切都是最新的

但是,远程存储库不包含我的标签。

答1:

huntsbot.com汇聚了国内外优秀的初创产品创意,可按收入、分类等筛选,希望这些产品与实践经验能给您带来灵感。

推送单个标签:

git push origin 

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

# not recommended
git push --tags

我建议不要使用或培训其他人使用 git push --tags,因为当您的同事接受过推送所有标签的培训时,很难摆脱坏标签,因为人们继续推送他们在本地拥有的旧的坏标签。他们想要推送新标签的时间。因此,我只会建议每个人现在使用 git push origin 。

要推送 moved 标记:git push origin --force

如果您的标签与远程分支相同且 git push 失败并显示 error: src refspec matches more than one.,您可以将其推送为 git push origin tag

请注意,git push --tags origin 不是 您想要的 - 尽管命名了特定标签,但它会将它们全部推送,甚至是轻量级标签。叹。

如果您想推送所有标签,您可以先 git push --dry-run --tags origin 查看将推送的内容。

答2:

huntsbot.com全球7大洲远程工作机会,探索不一样的工作方式

git push --follow-tags

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

git push --follow-tags

它推送两个提交,并且只推送两者的标签:

带注释的

从推送的提交中可达(祖先)

这是理智的,因为:

您应该只将带注释的标签推送到远程,并保留轻量级标签以供本地开发以避免标签冲突。另请参阅:带注释的标签和未注释的标签有什么区别?

它不会在不相关的分支上推送带注释的标签

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

Git 2.4 has added push.followTags 选项默认打开该标志,您可以设置:

git config --global push.followTags true

或通过将 followTags = true 添加到 ~/.gitconfig 文件的 [push] 部分。

huntsbot.com洞察每一个产品背后的需求与收益,从而捕获灵感

我并不清楚这是“注释”和“可从推送的提交中访问”之间的与关系。我希望它会推送所有可访问的标签,无论是否有注释。也许编辑以确保它不是 OR?

这在 git 2.5.0 中对我不起作用,但 git push origin --tags 可以。

@nnyby 请提供一个最小的示例,其中包含从 repo 创建到失败的所有必要命令,并将其发布在 gist 上,以便我可以尝试重现 ;-)

感谢 push.followTags 提示。我不敢相信这不是开箱即用的默认设置。没有它,甚至不用费心标记,你会忘记并失去同步标记。

添加了关于通过配置文件设置跟随标签的行。

答3:

一个优秀的自由职业者,应该有对需求敏感和精准需求捕获的能力,而huntsbot.com提供了这个机会

要推送具体,一个标签执行以下 git push origin tag_name

答4:

huntsbot.com – 程序员副业首选,一站式外包任务、远程工作、创意产品分享订阅平台。

要扩展 Trevor’s answer,您可以一次推送单个标签或所有标签。

推送单个标签

git push  

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

git push [[ […]] … 参数的格式是…源 ref ,后跟冒号 :,后跟目标 ref … 告诉远程端的哪个 ref 通过此推送更新…如果省略 :,则将更新与 相同的 ref … tag 表示与 refs/tags/ 相同:refs/tags/。

一次推送所有标签

git push --tags 
# Or
git push  --tags

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

git push [–全部 | --镜子 | --tags] [ […]] --tags 除了在命令行中明确列出的 refspecs 之外,refs/tags 下的所有 refs 都会被推送。

该示例省略了关键字 tag。例如git push origin tag funny-tag-1。

@JamesThomasMoon1979 你不需要它。您将单个标签推送到原点,如下所示:git push origin my-tag(我刚刚尝试过!)

我使用的是 1.9.1 版,你呢@AndresF。 ?

@JamesThomasMoon1979 版本 2.10.2。也许就是这样?

答5:

huntsbot.com提供全网独家一站式外包任务、远程工作、创意产品分享与订阅服务!

您可以通过简单的 git push --tags 命令推送所有本地标签。

$ git tag                         # see tag lists
$ git push origin       # push a single tag
$ git push --tags                 # push all local tags 

答6:

huntsbot.com提供全网独家一站式外包任务、远程工作、创意产品分享与订阅服务!

git push 命令不会将标签发送到远程存储库。我们需要使用以下命令将这些标签显式发送到远程服务器:

git push origin 

我们可以使用以下命令一次推送所有标签:

git push origin --tags

以下是有关 git 标记的完整详细信息的一些资源:

http://www.cubearticle.com/articles/more/git/git-tag

http://wptheming.com/2011/04/add-remove-github-tags

答7:

huntsbot.com洞察每一个产品背后的需求与收益,从而捕获灵感

您可以像这样推送标签git push --tags

答8:

huntsbot.com聚合了超过10+全球外包任务平台的外包需求,寻找外包任务与机会变的简单与高效。

在当前分支中添加标签

git tag tag_name

检查它是否已创建

git tag

推入您的远程来源

git push origin tag_name

答9:

huntsbot.com提供全网独家一站式外包任务、远程工作、创意产品分享与订阅服务!

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

运行此命令将 mytag 推送到您的 git 源(例如:GitHub 或 GitLab)

git push origin refs/tags/mytag

最好使用上面显示的完整“refspec”(字面意思为 refs/tags/mytag),以防 mytag 实际上是 v1.0.0 并且不明确(例如:因为有一个分支也名为 v1.0.0)。

答10:

huntsbot.com – 程序员副业首选,一站式外包任务、远程工作、创意产品分享订阅平台。

我正在使用 git push tag 来确保我正在推送标签。我像这样使用它:git push origin tag v1.0.1。此模式基于文档 (man git-push):

OPTIONS
   ...
   ...
       ...
       tag  means the same as refs/tags/:refs/tags/.

答11:

huntsbot.com聚合了超过10+全球外包任务平台的外包需求,寻找外包任务与机会变的简单与高效。

我做了这样的事情:

git push --tags origin  

e.g. : git push --tags origin master v2.0

原文链接:https://www.huntsbot.com/qa/QQAg/how-do-you-push-a-tag-to-a-remote-repository-using-git?lang=zh_CN&from=csdn

huntsbot.com高效搞钱,一站式跟进超10+任务平台外包需求

你可能感兴趣的:(git,github)