Jon*_*nas 2091 git push repository git-push git-tag
我已经将一个远程Git存储库克隆到了我的笔记本电脑,然后我想添加一个标签,所以我跑了
git tag mytag master
Run Code Online (Sandbox Code Playgroud)
当我git tag
在笔记本电脑上运行时,mytag
会显示标签.然后我想将它推送到远程存储库,所以我在所有客户端都有这个标签,所以我运行git push
但是我收到了消息:
一切都是最新的
如果我去我的桌面并运行git pull
然后git tag
没有显示标签.
我还尝试对项目中的文件进行微小更改,然后将其推送到服务器.之后,我可以将更改从服务器拉到我的台式计算机,但git tag
在台式计算机上运行时仍然没有标记.
如何将我的标签推送到远程存储库,以便所有客户端计算机都可以看到它?
Tre*_*vor 3448
要推送单个标签:
git push origin <tag_name>
Run Code Online (Sandbox Code Playgroud)
并且以下命令应该推送所有标签(不推荐):
git push --tags
Run Code Online (Sandbox Code Playgroud)
Cir*_*四事件 952
git push --follow-tags
这是Git 1.8.3中引入的理智选择:
git push --follow-tags
Run Code Online (Sandbox Code Playgroud)
它推送两个提交,只推送两个标签:
这是理智的,因为:
出于这些原因--tags
应该避免.
Git 2.4 添加了push.followTags
默认打开该标志的选项,你可以设置:
git config --global push.followTags true
Run Code Online (Sandbox Code Playgroud)
Rai*_*lam 112
在当前分支中添加标签。如果您想为您的 master 创建标签,请首先签出 master。
git tag tag_name
Run Code Online (Sandbox Code Playgroud)
检查是否创建
git tag
Run Code Online (Sandbox Code Playgroud)
推入您的远程源
git push origin tag_name
Run Code Online (Sandbox Code Playgroud)
小智 96
要扩展Trevor的答案,您可以一次推送单个标签或所有标签.
git push <remote> <tag>
Run Code Online (Sandbox Code Playgroud)
这是解释此问题的相关文档的摘要(为简洁起见,省略了一些命令选项):
Run Code Online (Sandbox Code Playgroud)git push [[<repository> [<refspec>…]] <refspec>...
<refspec>
参数的格式是......源ref<src>
,后跟冒号:
,后跟目标ref<dst>
...在
<dst>
讲述这裁判在远程端与该推更新...如果:<dst>
省略,同样的裁判作为<src>
将被更新...标签的
<tag>
意思相同refs/tags/<tag>:refs/tags/<tag>
.
git push --tags <remote>
# Or
git push <remote> --tags
Run Code Online (Sandbox Code Playgroud)
以下是相关文档的摘要(为简洁起见,省略了一些命令选项):
Run Code Online (Sandbox Code Playgroud)git push [--all | --mirror | --tags] [<repository> [<refspec>…]] --tags
refs/tags
除了在命令行中明确列出的refspec之外,所有引用都被推送.
小智 53
git push命令不会将标记发送到远程存储库.我们需要使用以下命令将这些标记显式发送到远程服务器:
git push origin <tagname>
Run Code Online (Sandbox Code Playgroud)
我们可以使用以下命令一次推送所有标签:
git push origin --tags
Run Code Online (Sandbox Code Playgroud)
以下是一些有关git标记的完整详细信息的资源:
http://www.cubearticle.com/articles/more/git/git-tag
http://wptheming.com/2011/04/add-remove-github-tags
Saj*_*han 38
您只需通过git push --tags
命令即可推送本地标签.
$ git tag # see tag lists
$ git push origin <tag-name> # push a single tag
$ git push --tags # push all local tags
Run Code Online (Sandbox Code Playgroud)
Mic*_*eld 14
如何将我的标签推送到远程存储库,以便所有客户端计算机都可以看到它?
运行它以推mytag
送到您的 git 源(例如:GitHub 或 GitLab)
git push origin refs/tags/mytag
Run Code Online (Sandbox Code Playgroud)
最好使用如上所示的完整“refspec”(字面意思refs/tags/mytag
),以防万一mytag
实际上v1.0.0
是不明确的(例如:因为有一个分支也名为v1.0.0
)。
Car*_*l G 10
我正在使用git push <remote-name> tag <tag-name>
以确保我正在推送标签.我用它像:git push origin tag v1.0.1
.此模式基于documentation(man git-push
):
OPTIONS
...
<refspec>...
...
tag <tag> means the same as refs/tags/<tag>:refs/tags/<tag>.
Run Code Online (Sandbox Code Playgroud)
git push origin mytag
Run Code Online (Sandbox Code Playgroud)
git fetch --all --tags
Run Code Online (Sandbox Code Playgroud)