我运行git branch -a

* master
  remotes/origin/test
  remotes/origin/master

我想删除我的远程分支

我试过了

git push origin --delete remotes/origin/test

我得到了

错误:无法删除'remotes/origin/test':远程引用不 存在

怎么会不存在呢?

我做了一个git分支-a,我看到它列出来了。

我错过什么了吗?


当前回答

迅速的回答

您只需要修剪列表(清除列表),因为该分支不再存在。 运行以下命令

git fetch --prune

验证运行

git branch -r

您应该看到一个只有现有远程回购的新列表

其他回答

Git branch -a会列出本地的分支,而不是远程的分支。

和错误error: unable to delete 'remotes/origin/test': remote ref does not exist意味着你的远程中没有以该名称命名的分支,但分支在你的本地中存在。

迅速的回答

您只需要修剪列表(清除列表),因为该分支不再存在。 运行以下命令

git fetch --prune

验证运行

git branch -r

您应该看到一个只有现有远程回购的新列表

对于windows

git branch --remotes| %{ $_.Trim().Split("/")[1] }| ?{ $_ -ne 'master' } | | ?{ $_ -ne 'otherBranch' } | %{ git push origin --delete $_ }

我遵循解决方案poke与一个小的调整在最后。我的步骤如下 - git获取-修剪; - git分支-打印如下 主 分支 remotes/origin/HEAD -> origin/master 遥控器/产地/主人 remotes/origin/branch(要删除的远程分支) - git push origin——删除分支。 在这里,要移除的分支没有命名为remotes/origin/branch,而是简单地命名为branch。分支被移除。

remotes/origin/test的含义是,在远程服务器origin中有一个名为test的分支。所以命令是

git push origin --delete test