我运行git branch -a
* master
remotes/origin/test
remotes/origin/master
我想删除我的远程分支
我试过了
git push origin --delete remotes/origin/test
我得到了
错误:无法删除'remotes/origin/test':远程引用不 存在
怎么会不存在呢?
我做了一个git分支-a,我看到它列出来了。
我错过什么了吗?
我运行git branch -a
* master
remotes/origin/test
remotes/origin/master
我想删除我的远程分支
我试过了
git push origin --delete remotes/origin/test
我得到了
错误:无法删除'remotes/origin/test':远程引用不 存在
怎么会不存在呢?
我做了一个git分支-a,我看到它列出来了。
我错过什么了吗?
当前回答
假设远程分支是remotes/origin/test,你可以使用两种方法:
git push origin --delete test
and
git branch -D -r origin/test
其他回答
获取远程分支的列表
git fetch # synchronize with the server
git branch --remote # list remote branches
你应该得到一个远程分支的列表:
origin/HEAD -> origin/master
origin/develop
origin/master
origin/deleteme
现在,我们可以删除分支:
git push origin --delete deleteme
Git branch -a会列出本地的分支,而不是远程的分支。
和错误error: unable to delete 'remotes/origin/test': remote ref does not exist意味着你的远程中没有以该名称命名的分支,但分支在你的本地中存在。
有一个快捷方式可以在原点中删除分支:
Git push origin:<branch_name>
这和git push origin——delete <branch_name>是一样的
一个方便的单行程序,从原点删除'master'以外的分支:
git branch --remotes | grep -v 'origin/master' | sed "s/origin\///" | xargs -i{foo} git push origin --delete {foo}
在这样做之前,请确保您了解运行该程序的含义!
迅速的回答
您只需要修剪列表(清除列表),因为该分支不再存在。 运行以下命令
git fetch --prune
验证运行
git branch -r
您应该看到一个只有现有远程回购的新列表