在执行 git fetch 后,我本地的 Git 仓库中所有远程分支都会作为远程分支显示。
如何有选择地从我的本地仓库中删除远程分支(而不是远程仓库)?
在执行 git fetch 后,我本地的 Git 仓库中所有远程分支都会作为远程分支显示。
如何有选择地从我的本地仓库中删除远程分支(而不是远程仓库)?
我遇到的问题略有不同,但解决方法可能对其他遇到此问题的人有用...
我发现我的本地仓库仍保留着在远程不存在的分支,所以我想将它们删除。解决办法很简单,只需使用带有--prune
(或-p
)选项的fetch
命令:
git fetch --prune
git branch -r -d remote/branch
你还需要重新配置fetch以避免以后再次获取此分支
.git/config
文件,然后修改 [remote "origin"]
或者其他相关部分的内容。将 fetch = +refs/heads/*:refs/remotes/github/*
替换为 fetch = +refs/heads/master:refs/remotes/github/master
,这样只会拉取 master 分支。我认为你可以添加多个 fetch
来拉取更多的分支,但是不确定如何排除某些分支。 - Andrew Taylor
git branch -d <分支>
(或甚至是git branch -D <分支>
)进行删除。 - Izzy