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

时间:2015-10-01 12:15:08

标签: git branch pull-request

我跑了

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/*

但是说"没找到"。

3 个答案:

答案 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