我们的git存储库中有几个带注释的标签.较旧的标签有伪造的消息,我们想要更新为我们的新风格.
% git tag -n1
v1.0 message
v1.1 message
v1.2 message
v2.0 Version 2.0 built on 15 October 2011.
Run Code Online (Sandbox Code Playgroud)
在此示例中,我们希望使v1.x消息看起来像v2.0消息.有谁知道我们会怎么做?
运行以下步骤后出现以下错误:
To git@provider.com:username/repo-name.git
! [rejected] dev -> dev (already exists)
error: failed to push some refs to 'git@provider.com:username/repo-name.git'
hint: Updates were rejected because the tag already exists in the remote.
Run Code Online (Sandbox Code Playgroud)
dev:git tag devgit push --tags删除标签dev,再次创建并推送标签:
git tag -d dev
git tag dev
git push --tags
Run Code Online (Sandbox Code Playgroud)为什么会这样?
我在Mac上.我使用Linux(Ubuntu)的朋友没有这个问题.我知道我可以git push --tags -f用来强制标记更新,但这很危险(例如,只在标记中重写提交,而不是在分支中).