更新 git 中的远程标签(以标记最新的稳定版本)

Update a remote tag in git (to mark latest stable release)

尽管还有其他可能将代码标记为最新稳定版(例如发布分支),但我想知道为什么不使用标记来标记最新稳定版(即使跨主要版本号或任何其他版本控制方案)。

git 中的标签概念无论如何都对此用途不友好,因为标签无法更新(如文档所述移动)。因此,即使我在本地其他地方删除并重新创建带注释的标签,在尝试将其推送到远程时也会出现错误。有什么方法可以直接从本地的同名标签更新远程标签吗?

当然有。

git push --tags -f

强制推送标签。因此,如果您在本地更新它,它也会在远程更新。

不过,上述解决方案存在风险,因为它会推送所有标签并覆盖它们。假设您的标签名为

stable

然后您可以执行以下操作

首先,删除远程标签

git push origin :refs/tags/stable

接下来按标准方式推送

git push --tags

或者...作为单行

git push origin stable:refs/tags/stable