我在我的机器上的master分支中添加了一个标签:
git tag mytag master
如何将其推送到远程存储库?运行git push给出消息:
git push
一切都是最新的
但是,远程存储库不包含我的标签。
要推送单一标签:
git push origin <tag_name>
以下命令应该推送所有标签(不建议):
# not recommendedgit push --tags
您可以像这样推送标签git push --tags
git push --tags
要推送特定的,一个标签执行以下操作git push origin tag_name
git push origin tag_name
要扩展特雷弗的回答,您可以推送单个标签或所有您的标签一次。
git push <remote> <tag>
这是对相关留档的总结,它解释了这一点(一些为简洁起见省略命令选项):
git push [[<repository> [<refspec>…]] <refspec>... <refspec>参数的格式是…源ref<src>,后面跟着冒号:,后面跟着目标ref<dst>… <dst>告诉远程端的哪个ref更新为推…如果省略:<dst>,则与<src>相同的引用将是已更新 标签<tag>表示与refs/tags/<tag>:refs/tags/<tag>相同。
git push [[<repository> [<refspec>…]] <refspec>...
<refspec>参数的格式是…源ref<src>,后面跟着冒号:,后面跟着目标ref<dst>…
<refspec>
<src>
:
<dst>
<dst>告诉远程端的哪个ref更新为推…如果省略:<dst>,则与<src>相同的引用将是已更新
:<dst>
标签<tag>表示与refs/tags/<tag>:refs/tags/<tag>相同。
<tag>
refs/tags/<tag>:refs/tags/<tag>
git push --tags <remote># Orgit push <remote> --tags
以下是相关留档(一些命令选项)的摘要省略为简洁):
git push [--all | --mirror | --tags] [<repository> [<refspec>…]] --tags 除了显式引用外,refs/tags下的所有引用都被推送在命令行中列出。
git push [--all | --mirror | --tags] [<repository> [<refspec>…]] --tags
除了显式引用外,refs/tags下的所有引用都被推送在命令行中列出。
refs/tags
git push --follow-tags
这是Git 1.8.3中引入的一个理智的选项:
它同时推送提交和仅推送两者都是的标签:
这是合理的,因为:
正是由于这些原因,应该避免--tags。
--tags
Git 2.4已经增加默认情况下打开该标志的push.followTags选项,您可以使用:
push.followTags
git config --global push.followTags true
或者将followTags = true添加到~/.gitconfig文件的[push]部分。
followTags = true
~/.gitconfig
[push]
git ush命令不会将标签发送到远程存储库。我们需要使用以下命令将这些标签显式发送到远程服务器:
git push origin <tagname>
我们可以使用下面的命令一次推送所有标签:
git push origin --tags
以下是有关git标记的完整详细信息的一些资源:
http://www.cubearticle.com/articles/more/git/git-tag
http://wptheming.com/2011/04/add-remove-github-tags
您可以通过简单的git push --tags命令推送所有本地标签。
$ git tag # see tag lists$ git push origin <tag-name> # push a single tag$ git push --tags # push all local tags
我使用git push <remote-name> tag <tag-name>来确保我正在推送标签。我像这样使用它:git push origin tag v1.0.1。此模式基于留档(man git-push):
git push <remote-name> tag <tag-name>
git push origin tag v1.0.1
man git-push
OPTIONS...<refspec>......tag <tag> means the same as refs/tags/<tag>:refs/tags/<tag>.
如何将我的标签推送到远程存储库,以便所有客户端计算机都可以看到它?
运行此命令将mytag推送到您的git源(例如:GitHub或GitLab)
mytag
git push origin refs/tags/mytag
最好使用完整的“refspec”,如上所示(字面意思是refs/tags/mytag),只是在案例mytag实际上是v1.0.0并且是模棱两可的(例如:因为有一个分支也命名为v1.0.0)。
refs/tags/mytag
v1.0.0
我做了这样的事情:
git push --tags origin <branch-name> <tag-name> e.g. : git push --tags origin master v2.0
在当前分支中添加一个标签。如果您想为您的master创建标签,请先签出到master。
git tag tag_name
检查它是否已创建
git tag
输入你的远程来源
git push origin mytag
git fetch --all --tags