Graças a Steve e Neevek, encontrei uma solução que funcionou muito bem para mim e achei que valeria a pena compartilhar:
A solução de Steve funcionou para mim com um pequeno ajuste. Meus controles remotos foram nomeados, origin/feature/some-feature-name
então eu aparei o seu awk
:
git branch -r | awk -Forigin/ '/\/feature/ {print $2 $3}' | xargs -I {} git push origin :{}
Agora está fazendo um bom fluxo de exclusão:
To github.com:project/project-name.git
- [deleted] feature/search-min-chars
To github.com:project/project-name.git
- [deleted] feature/search-placeholder
To github.com:project/project-name.git
- [deleted] feature/server-error-message
To github.com:project/project-name.git
- [deleted] feature/six-point-asterisk
Fiquei imaginando se alguém tinha alguma idéia para uma solução mais elegante, porém, que pudesse gerar algo assim (meu script CLI é muito ruim, por isso levaria um tempo para descobrir isso):
git push origin :feature/search-min-chars :feature/search-placeholder :feature/server-error-message :feature/six-point-asterisk
Isso resultaria em uma única saída agradável com uma solicitação de rede:
To github.com:project/project-name.git
- [deleted] feature/search-min-chars
- [deleted] feature/search-placeholder
- [deleted] feature/server-error-message
- [deleted] feature/six-point-asterisk
$ git branch -r | awk -F/ '/\/APR/{print $2}' | xargs -I {} git push origin :{} error: unable to push to unqualified destination: APR-04-DPH The destination refspec neither matches an existing ref on the remote nor begins with refs/, and we are unable to guess a prefix based on the source ref. error: failed to push some refs to 'GIT_URL'