Git: Cómo desbloquear twigs remotas (requestes de extracción de Github)

Yo corrí

git fetch upstream +refs/pull/*:refs/remotes/upstream/pr/* git fetch origin +refs/pull/*:refs/remotes/origin/pr/* 

Y terminé con varios cientos de sucursales, 4 por cada request de extracción (cabeza, fusión, y ambas desde el origen y en sentido ascendente.

¿Cómo puedo deshacerme de estas twigs localmente, en dos pasos?

Yo he tratado

 git branch -D refs/remotes/origin/pr/* 

pero eso dice "no encontrado".

Después de " ¿Puedes eliminar múltiples twigs en un command con Git? ":

 git branch -D $(git for-each-ref --format="%(refname:short)" refs/remotes/origin/pr/) 

Normalmente solo elimino files de .git / refs y lines .git / packed-refs

AFAIK no existe un command "listo para usar" que haga lo que quieras, pero se puede resolver simplemente encadenando algunos commands de bash.

La cadena de commands para eliminar las twigs locales podría verse así:

 git branch | grep -vE '^\*' | grep 'pr/' | xargs git branch -D 

La versión para las twigs remotas es muy similar y simplemente usa la opción -r para las llamadas de la git branch .

 git branch -r | grep -vE '^\*' | grep 'pr/' | xargs git branch -rD