Git:如何取消获取远程分支(Github 拉取请求)

Ond*_*žka 5 git branch pull-request

我跑了

git fetch upstream +refs/pull/*:refs/remotes/upstream/pr/*
git fetch origin +refs/pull/*:refs/remotes/origin/pr/*
Run Code Online (Sandbox Code Playgroud)

我最终得到了数百个分支——每个拉取请求有 4 个分支(head、merge,以及来自 origin 和 upstream。

如何分两步在本地摆脱这些分支?

我试过了

git branch -D refs/remotes/origin/pr/*
Run Code Online (Sandbox Code Playgroud)

但这说“未找到”。

max*_*630 7

我通常只是从 .git/refs 和 .git/packed-refs 行中删除文件

  • ……他们两个都没有再听到过。 (7认同)

Sas*_*olf 3

AFAIK 没有“开箱即用”的命令可以完成您想要的操作,但可以通过链接一些 bash 命令来解决。

删除本地分支的命令链可能如下所示:

git branch | grep -vE '^\*' | grep 'pr/' | xargs git branch -D
Run Code Online (Sandbox Code Playgroud)

远程分支的版本非常相似,并使用-r调用选项git branch

git branch -r | grep -vE '^\*' | grep 'pr/' | xargs git branch -rD
Run Code Online (Sandbox Code Playgroud)