Git标签在推送然后克隆时会消失吗?

cor*_*ras 9 tags git

我们有一个包含多个标签的存储库.每个标签代表软件的一个版本.我们正在将存储库推送到远程服务器.

当我们从远程服务器上执行新的克隆时,标签不再存在.您如何确保其他开发人员或客户可以从远程服务器上查看特定版本的软件?

Bri*_*ell 12

git push --tags 要么 git push remote tag-name

  • 实际上,标签不是分开的.`git push`的默认语义是在本地机器上推送refs(分支和标签),这些refs在远程上具有匹配的引用.由于遥控器上还没有任何给定的标签,因此不会被推送(并且由于标签是不可变的,所以无论如何更新标签都没有意义).因此,当您希望它们出现在遥控器上时,您需要明确地推送标签. (2认同)
  • 我认为可能需要`git push <remote>标签<tag-name>`,即必须明确指定存储库参数(因为解释取决于位置). (2认同)

Jak*_*ski 9

Brian Campbell给出的替代解决方案是配置远程以推送所有引用,或推送所有分支和标记:

[remote "repository"]
        url = user@example.com:user/repo.git
        push  = +refs/heads/*:refs/heads/*
        push  = +refs/tags/*:refs/tags/*
Run Code Online (Sandbox Code Playgroud)