在对分支的头部进行一些更改后,我们需要移动释放标记。当我试图这样做时,我遇到了一个令人困惑的git错误消息,并要求知识渊博的人解释它。我可以找到许多类似消息的网页,但我看到的解释似乎都没有适用。请避免告诫我手册中讨论的理智与疯狂的方法,因为选择此方法的原因有外部原因,这对本次讨论无用。
我做了什么:
在本地和远程存储库中,我运行了" git tag -d Release_7_3_16"删除现有标记。我本地存储库中的git push / pull表示没有变化。 ' git tag'在本地或原始目录中显示标签不存在。
然后在我的本地存储库中运行" git -f -a Release_7_3_16" (因为我已经坐在正确的分支上)来(重新)在正确的变化下创建标签。
我尝试使用" git push origin:refs / tags / Release_7_3_16"将标签推送到遥控器,但它出现了此错误:
remote: warning: Deleting a non-existent ref.
To /db/sds14/user2/cg_sandbox/depot/cg_sandbox.git/
- [deleted] refs/tags/Release_c60_7_3_16
这实际意味着什么,因为我现在没有删除任何内容?!?
答案 0 :(得分:2)
我尝试使用“git push origin:refs / tag / Release_7_3_16”将标签推送到遥控器
该语法特别是:name
部分 - 意味着“请删除”遥控器。
来自遥控器的警告信息表示“我首先没有这个名字”。也就是说,您要求远程(origin
,在这种情况下)删除refs/tag/Release_7_3_16
,它认为它看起来像是一个合理的请求,所以它去找refs/tag/Release_7_3_16
并发现它没有存在。
这并不奇怪,因为标签位于refs/tags/
(复数“标签”),而不是refs/tag/
(单数“标签”)。
至于在遥控器上移动标签,您可能需要阅读this answer。