你如何重命名一个Git标签?
今天,我正在浏览一个项目的日志,并意识到我前一段时间发现了一个标签名称。 有什么方法可以重命名标签吗? 谷歌没有发现任何有用的东西。
我意识到我可以检查出标签的版本并制作一个新的标签,我甚至尝试过。 但是,这似乎创建了一个不太正确的标签对象。 首先,
git tag -l
相对于其他所有标签而言,它的排列顺序不正确。 我不知道这是否意义重大,但它让我相信新的标签对象并不是我想要的。 我可以忍受这一点,因为我真的只关心标签名称与文档匹配,但我宁愿这样做“正确”,假设有一个正确的方法来做到这一点。
这里是我改标签old
到new
:
git tag new old
git tag -d old
git push origin :refs/tags/old
git push --tags
push命令中的冒号从远程存储库中删除标签。 如果你不这样做,当你拉动时,git会在你的机器上创建旧标签。
最后,确保其他用户删除已删除的标签。 请告诉他们(同事)运行以下命令:
git pull --prune --tags
最初的问题是如何重新命名一个标签,这很简单:首先创建NEW作为OLD的别名: git tag NEW OLD
然后删除OLD: git tag -d OLD
。
关于“git way”和(in)完整性的引用是offbase,因为它讨论的是保留标签名称,但是使其指向不同的repo状态。
除了其他答案之外:
首先,您需要构建旧标记名称的别名:
git tag new_tag_name old_tag_name
编辑:正如这个答案指出的,你应该注意指向正确的(原始)提交:
git tag new old^{}
那么你需要在本地删除旧的:
git tag -d old_tag_name
然后删除远程位置上的标签:
# Check your remote sources:
git remote -v
# The argument (3rd) is your remote location,
# the one you can see with `git remote`. In this example: `origin`
git push origin :refs/tags/old_tag_name
最后,您需要将新标签添加到远程位置。 在您完成此操作之前,新的标签将不会被添加:
git push origin --tags
迭代此为每个远程位置。
请注意,Git标签变更对包装的消费者造成的影响!
链接地址: http://www.djcxy.com/p/5719.html