我跑了
git fetch upstream +refs/pull/*:refs/remotes/upstream/pr/*
git fetch origin +refs/pull/*:refs/remotes/origin/pr/*
我最终得到了数百个分支 - 每个拉取请求4个(头部,合并,以及来自原始和上游。
如何在两个步骤中在本地摆脱这些分支?
我试过了
git branch -D refs/remotes/origin/pr/*
但是说"没找到"。
答案 0 :(得分:3)
我通常只是从.git / refs和.git / packed-refs
中删除文件答案 1 :(得分:2)
关注" Can you delete multiple branches in one command with Git?":
git branch -D $(git for-each-ref --format="%(refname:short)" refs/remotes/origin/pr/)
答案 2 :(得分:0)
AFAIK没有"开箱即用"命令,你做了你想要的,但它可以通过简单地链接一些bash命令来解决。
删除本地分支的命令链可能如下所示:
git branch | grep -vE '^\*' | grep 'pr/' | xargs git branch -D
远程分支的版本非常相似,仅使用-r
选项进行git branch
调用。
git branch -r | grep -vE '^\*' | grep 'pr/' | xargs git branch -rD