我有一个分支和名称的标签3.0.0.现在我如何只删除分支而不删除标签.
我试过了
git push origin --delete 3.0.0
error: dst refspec 3.0.0 matches more than one.
Run Code Online (Sandbox Code Playgroud)
Von*_*onC 40
你可以推送完整的分支 refspec:
git push origin :refs/heads/3.0.0
# shorter:
git push origin :heads/3.0.0
Run Code Online (Sandbox Code Playgroud)
那只会引用一个分支,而不是tag(refs/tags/3.0.0).
这里refspec在' :' 前面没有来源:这意味着HEAD.
:refs/heads/3.0.0是HEAD:refs/heads/3.0.0.
这意味着你需要在推送前检查正确的分支.
我来这里是为了寻找一种删除与分支同名的远程标签的方法。根据上面的巨人评论,我发现这有效:
git push <remote> :refs/tags/<mytag>
# or
git push origin :tags/<mytag>
Run Code Online (Sandbox Code Playgroud)