我向计算机上的主分支添加了一个标记:
git tag mytag master
如何将其推送到远程存储库?运行git push会显示以下消息:
一切都是最新的
但是,远程存储库不包含我的标记。
我向计算机上的主分支添加了一个标记:
git tag mytag master
如何将其推送到远程存储库?运行git push会显示以下消息:
一切都是最新的
但是,远程存储库不包含我的标记。
当前回答
您可以通过简单的gitpush--tags命令推送所有本地标记。
$ git tag # see tag lists
$ git push origin <tag-name> # push a single tag
$ git push --tags # push all local tags
其他回答
git push--跟随标记
这是Git 1.8.3中引入的一个合理选项:
git push --follow-tags
它同时推送提交和仅推送同时满足以下条件的标记:
带注释的可从推送提交中访问(祖先)
这是理智的,因为:
您应该只将带注释的标记推送到远程,并为本地开发保留轻量级标记,以避免标记冲突。另请参见:带注释标记和未带注释标记之间的区别是什么?它不会在不相关的分支上推送带注释的标记
正是出于这些原因,应该避免--标记。
Git 2.4添加了push.folloTags选项,默认情况下可以打开该标志,您可以通过以下方式设置:
git config --global push.followTags true
或者将followTags=true添加到~/.gitconfig文件的[push]部分。
在当前分支中添加标记。如果要为主控形状创建标记,请首先签出到主控形状。
git tag tag_name
检查是否已创建
git tag
推入远程原点
git push origin tag_name
您可以像git push一样推送标记--tags
我使用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>.
标记不会通过git push命令发送到远程存储库。我们需要使用以下命令将这些标记显式发送到远程服务器:
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