Благодаря Стиву и Нивеку я нашел решение, которое мне очень понравилось, и я решил, что стоит поделиться:
Решение Стива сработало для меня с одной незначительной поправкой. Мои пульты были названы, origin/feature/some-feature-nameпоэтому я обрезал ваши awk:
git branch -r | awk -Forigin/ '/\/feature/ {print $2 $3}' | xargs -I {} git push origin :{}
Теперь он выполняет небольшой поток удаления:
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
Интересно, есть ли у кого-нибудь идеи для более элегантного решения, которое могло бы выводить что-то вроде этого (мой сценарий CLI довольно плох, поэтому мне потребовалось некоторое время, чтобы понять это):
git push origin :feature/search-min-chars :feature/search-placeholder :feature/server-error-message :feature/six-point-asterisk
Это приведет к хорошему одиночному выводу с одним сетевым запросом:
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'