git - 如何删除与标签同名的git分支?
问题描述
在我的项目中,我删除了所有挂在 git 中的旧分支,但有些分支我无法删除:
$ git push origin :0.2.0.0
error: dst refspec 0.2.0.0 matches more than one.
error: failed to push some refs to 'ssh://git@<repo>.git'
我很少有 git repos,而且我有一些可能是错误创建的旧分支。这些分支与创建的标签同名,我无法删除这些分支。
有没有办法删除这些分支?似乎您可以在任何地方找到的唯一命令是git push origin :<branch>
orgit push -d origin <branch>
并且这些命令中的分支和标记之间没有区别。
我不知道这些分支是如何创建的,但我想摆脱它们。
解决方案
dst refspec 0.2.0.0 匹配多个
通常这不是问题,但这里git 不知道0.2.0.0
this 指的是哪个,解决方案是更明确的。
删除分支
要处理问题中的场景:
$ git push origin :refs/heads/0.2.0.0
删除标签
为了完整起见,如果它是不需要的标签:
$ git push origin :refs/tags/0.2.0.0
推荐阅读
- sql - SQL - 选择半径中的所有项目
- php - Laravel 一对一多态关系
- jenkins - Bitbucket 拉取请求时的 Jenkins 声明性管道
- roslyn - 如何在 Roslyn 项目中将文档添加为另一个文档的子文档?
- amazon-web-services - 使用控制台和 CLI 时 S3 存储桶大小不同
- c++ - “if (argc < 2 || argc > 2)” 是否可以使用 2 个参数?& 在抛出“std::out_of_range”错误实例后调用终止
- sql - 按列的值对列进行排序
- regex - 使用正则表达式查找不包含字符串的文本块
- scala - regex check and proceed next call
- ubuntu - 如何从虚拟环境中将我的 jupyter 笔记本作为服务运行