我向计算机上的主分支添加了一个标记:
git tag mytag master
如何将其推送到远程存储库?运行git push会显示以下消息:
一切都是最新的
但是,远程存储库不包含我的标记。
我向计算机上的主分支添加了一个标记:
git tag mytag master
如何将其推送到远程存储库?运行git push会显示以下消息:
一切都是最新的
但是,远程存储库不包含我的标记。
当前回答
如何将标记推送到远程存储库,以便所有客户端计算机都能看到它?
运行此命令将mytag推送到git源(例如:GitHub或GitLab)
git push origin refs/tags/mytag
最好使用上面所示的完整“refspec”(字面意思是refs/tags/mytag),以防mytag实际上是v1.0.0并且不明确(例如:因为有一个分支也被命名为v1.0.0)。
其他回答
要进一步了解特雷弗的答案,您可以推送一个标签或标签。
推送单个标签
git push <remote> <tag>
这是解释这一点的相关文档的摘要(一些为简洁起见,省略了命令选项):
git push〔〔<repository>〔<refspec>…〕〕<refspec>。。。<refspec>参数的格式是…源ref<src>,后跟冒号:,后跟目标ref<dst>…<dst>告诉远程端的哪个ref使用此更新push…如果省略:<dst>,则与<src>相同的ref将为已更新…tag<tag>表示与refs/tags/<tag>相同:refs/tags/<tag>。
一次推送所有标签
git push --tags <remote>
# Or
git push <remote> --tags
以下是相关文档的摘要(一些命令选项为简洁起见省略):
git push[-all|--mirror|--tags][<repository>[<refspec>…]]--标签除了refspec外,refs/标签下的所有refs都被推送在命令行中列出。
标记不会通过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
如何将标记推送到远程存储库,以便所有客户端计算机都能看到它?
运行此命令将mytag推送到git源(例如:GitHub或GitLab)
git push origin refs/tags/mytag
最好使用上面所示的完整“refspec”(字面意思是refs/tags/mytag),以防mytag实际上是v1.0.0并且不明确(例如:因为有一个分支也被命名为v1.0.0)。
在当前分支中添加标记。如果要为主控形状创建标记,请首先签出到主控形状。
git tag tag_name
检查是否已创建
git tag
推入远程原点
git push origin tag_name
我使用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>.