git delete remote branch not working:branch not found

don*_*yor 11 git github git-branch

我试图删除git中的远程分支,我做了:

git branch -r
...
origin/master
origin/dev
origin/branch_to_delete
Run Code Online (Sandbox Code Playgroud)

现在我尝试删除origin/branch_to_delete:

git branch -d origin/branch_to_delete
error: branch 'origin/branch_to_delete' not found 
Run Code Online (Sandbox Code Playgroud)

我做了:

git fetch --all
Run Code Online (Sandbox Code Playgroud)

并再次尝试,同样的错误.我试过-D但同样的错误.

但分支在那里,我可以在github.com上看到它.该怎么办?

小智 15

根据这篇文章:

删除也是一项非常简单的任务(尽管感觉有些麻烦):

git push origin :newfeature

这将删除origin远程的newfeature分支,但你仍然需要使用git branch -d newfeature在本地删除分支.

所以你得到的错误只是意味着你没有该分支的本地副本,所以你可以忽略它.然后删除远程副本:

git push origin :branch_to_delete
Run Code Online (Sandbox Code Playgroud)


ieX*_*ept 8

如果您在服务器上看不到它(这是我的情况,因为有人已经删除了远程服务器上的那个分支)但它仍然.git作为远程分支存在于您的本地存储库中,您可以使用也不git push origin --delete [branch]git push origin :branch_to_delete. 而是运行

git branch --all
git remote prune origin
git branch --all
Run Code Online (Sandbox Code Playgroud)

origin遥控器的名称替换。