从 git[hub] 中删除错误的分支 remotes/upstream/upstream/develop

delete erroneous branch remotes/upstream/upstream/develop from git[hub]

偶然创建了一个分支remotes/upstream/upstream/develop。上游受 GitHub 控制。标准删除命令失败:

$ git fetch --all
$ git branch -a
* develop
  master
  remotes/origin/HEAD -> origin/develop
  remotes/origin/develop
  remotes/origin/master
  remotes/upstream/develop
  remotes/upstream/master
  remotes/upstream/upstream/develop
$ git push upstream --delete upstream/develop
error: unable to delete 'upstream/develop': remote ref does not exist
error: failed to push some refs to 'git@github.com:...'

.git/config 有标准节

[remote "upstream"]
    url = git@github.com:...
    fetch = +refs/heads/*:refs/remotes/upstream/*

显然,意外创建的分支从未被推送到上游服务器,或者未被接受;无论如何,git branch fetch --all 没有将它传播给其他客户端。所以它可以在本地删除

$ git branch -r -D upstream/upstream/develop
Deleted remote-tracking branch upstream/upstream/develop (was e49bbca1).