我正在尝试删除git中的远程分支,我做了:
git branch -r
...
origin/master
origin/dev
origin/branch_to_delete
现在我尝试删除origin/branch_to_delete
:
git branch -d origin/branch_to_delete
error: branch 'origin/branch_to_delete' not found
我做了:
git fetch --all
并再次尝试,同样的错误。我尝试使用-D
,但同样的错误。
但分支在那里,我可以在github.com上看到它。怎么办?
答案 0 :(得分:15)
根据this post:
删除也是一项非常简单的任务(尽管感觉有些麻烦):
git push origin :newfeature
这将删除origin remote上的newfeature分支,但你仍然需要使用git branch -d newfeature在本地删除分支。
所以你得到的错误只是意味着你没有该分支的本地副本,所以你可以忽略它。然后删除远程副本:
git push origin :branch_to_delete
答案 1 :(得分:2)
如果您在服务器上看不到它(这是我的情况,因为有人已经删除了远程服务器上的该分支),但它仍作为远程分支存在于本地.git
存储库中, git push origin --delete [branch]
或git push origin :branch_to_delete
都不能解决此问题。而是运行
git branch --all
git remote prune origin
git branch --all
用您的遥控器的名称替换origin
。
答案 2 :(得分:0)
要删除远程分支,命令为:
git push origin --delete [branch]
似乎有人忘记了前面的答案之一中的“-删除”