无法从远程推送 git 标签?

Unable to Push git tags from remote?

我正在尝试在本地克隆上创建一些标签并将其推送到 master,并从远程删除标签并将其推送到我的本地克隆,明确地说,远程是 github ,但我们谈论的是标签,而不是版本。

我在远程创建了一个标签 v0.1-beta。 我在本地创建了一个标签 v1.0-full-release

我注意到,即使在 git 获取、git 拉取和 git 推入我的本地端后,另一端也看到了彼此的标签。

我查了一下,发现您可以使用 git fetch --tags 从远程获取标签,所以现在我的本地客户端是最新的。但是我找不到将本地 v1.0-full-release 标签推送到远程的方法。 Git push 没有这样做,我在文档中找不到任何内容。

旁注:我在终端中完成了大部分测试,但我也注意到在桌面、Kitkracken 和 Gmaster 的 Github 中,当我在本地创建标签时,另一个在从这些客户端远程获取或推送不会同步标签以太。

如果有人也能解释为什么决定标准 git fetchgit pullgit push 默认不包含标签,那也很好。

虽然 git fetch 默认包含 --tags,但默认不包含 --tags

(insert record-scratch sound effect here)等等,什么?

好的,诀窍是:git fetch 将带出标签 当它带出附有标签的提交时。 有一些变化Git 的不同版本中的总体主题(或至少是特定角落案例中的错误),但一般来说,如果您还没有标记的提交,并且您 运行 git fetch如果没有 --tags--no-tags,您将获得 both 提交 标签。但是如果你已经有提交,而你 运行 git fetch 没有 --tags,你 不会 得到标签。

相比之下,git push 没有 --tags 从不 推送标签,至少在您不配置各种设置的情况下。通常 运行:

git 推送来源 <em>tag-name</em>

无论如何都要显式推送一个特定标签。