无法从远程推送 git 标签?



我正在尝试在本地克隆上创建一些标签并将其推送到主克隆,然后从远程中删除标签并将其推送到我的本地克隆,需要明确的是,远程是 github,但谈论的是标签,而不是发布。

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

我注意到,即使在我的本地端进行了 git 获取、git pull 和 git push 之后,下界也看到了彼此的标签。

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

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

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

虽然git fetch默认包含--tags,但默认情况下不包括--tags

(在这里插入录音刮擦音效(等等,什么?

好的,诀窍是:当git fetch带来附加了标签的提交时,它将带来标签。在不同版本的 Git 中,整体主题(或至少是特定极端情况下的错误(有一些变化,但一般来说,如果您还没有标记提交,并且您在没有--tags--no-tags的情况下运行git fetch,您将同时获得提交标记。 但是,如果您已经有了提交,并且在没有--tags的情况下运行git fetch,则不会获得标记。

相比之下,没有--tagsgit push从不推送标签,至少在不配置各种设置的情况下是这样。 通常只运行是有意义的:

git push origintag-name

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

最新更新