如何删除Git中的远程分支?
我创build了一个分支notmaster来提交以及推动一些改变。 当我完成这个分支时,我将这些修改合并到了master ,并将它们推出,然后删除了本地notmaster 。 
 $ git branch -a * master remotes/origin/master remotes/origin/notmaster 
 反正有删除远程非notmaster ? 
来自Ionut的解决scheme更清晰一点:
通常的方法失败了我:
 $ git push origin :notmaster error: dst refspec notmaster matches more than one. 
那是因为我有一个与分支名称相同的标签。 这对我来说是一个糟糕的select,造成了模棱两可。 所以在这种情况下:
 $ git push origin :refs/heads/notmaster 
	
  git push origin :notmaster ,这基本上意味着“不向notmaster remote推送任何东西”。 
我遇到过同样的问题。 我有一个分支和一个名为3.2的标签。 这就是为什么它说有不止一个匹配:
 git error: dst refspec 3.2 matches more than one. 
以下是如何删除分支:
 git push origin :heads/3.2 
以下是如何删除标签:
 git push origin :tags/3.2 
 git push origin --delete notmaster 
如果你使用的是Git 1.7.0或更高版本,这将会有所斩获。 在Git 1.7.0之前,你需要使用不直观(但同样有效)的语法:
 git push origin :notmaster 
 较旧的语法仍然适用于较新版本的Git,但较新的语法似乎更人性化且更易于记忆。 如果我想删除一个分支,input--delete似乎是自然而然的事情。 
从1.7.0发行说明 :
“git push”学习了“git push origin -delete branch”,这是一个“git push origin:branch”的语法糖。
发生这种情况是因为分支和标记的名称相同。 要删除分支,请使用git push origin:refs / heads / branchname要删除标记,请使用git push origin:refs / tags / tagname
这将从远程删除分支和标签。 要从本地删除,可以分别使用git branch -d branchname和git tag -d tagname
删除本地分支:
 git branch -d {branch name} //All changes must be committed first. git branch -D {branch name} //Does not require commit. 
删除有function的分支:
 Delete the local branch first. git push {gitorious push url} :{branch name} 
以下步骤也可以做到这一点:
 $ git fetch --prune --tags $ git push origin :refs/tags/{same-branch-tag-name} $ git push origin :{same-branch-tag-name} $ git push --tags