更新 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
尽管还有其他可能将代码标记为最新稳定版(例如发布分支),但我想知道为什么不使用标记来标记最新稳定版(即使跨主要版本号或任何其他版本控制方案)。
git 中的标签概念无论如何都对此用途不友好,因为标签无法更新(如文档所述移动)。因此,即使我在本地其他地方删除并重新创建带注释的标签,在尝试将其推送到远程时也会出现错误。有什么方法可以直接从本地的同名标签更新远程标签吗?
当然有。
git push --tags -f
强制推送标签。因此,如果您在本地更新它,它也会在远程更新。
不过,上述解决方案存在风险,因为它会推送所有标签并覆盖它们。假设您的标签名为
stable
然后您可以执行以下操作
首先,删除远程标签
git push origin :refs/tags/stable
接下来按标准方式推送
git push --tags
或者...作为单行
git push origin stable:refs/tags/stable