我创建了一个分支notmaster
来提交和推送一些更改。当我完成该分支时,我将更改合并回master
,将它们推送出去,然后删除本地notmaster
。
$ git branch -a
* master
remotes/origin/master
remotes/origin/notmaster
通常的方法对我来说失败了:
$ git push origin :notmaster
error: dst refspec notmaster matches more than one.
这是因为我有一个与分支同名的标记。这对我来说是一个糟糕的选择,并造成了模棱两可。因此,在这种情况下:
$ git push origin :refs/heads/notmaster
发布于 2010-11-12 06:38:00
git push origin :notmaster
,这基本上意味着“不向notmaster远程推送任何东西”。
发布于 2014-12-18 18:04:30
我也有同样的问题。我有一个分支和一个名为3.2的标签。这就是为什么它说有不止一个匹配:
git error: dst refspec 3.2 matches more than one.
以下是如何删除分支的方法:
git push origin :heads/3.2
下面是如何删除标签的方法:
git push origin :tags/3.2
发布于 2014-05-27 16:56:47
这是因为分支和标记的名称相同。
从远程使用中删除分支的步骤
git push origin :refs/heads/branchname
从远程使用中删除标记的步骤
git push origin :refs/tags/tagname
要从本地删除,可以使用以下命令。
git branch -d branchname
git tag -d tagname
https://stackoverflow.com/questions/4159950
复制相似问题