Некоторые workflow (англ) подразумевают использование тегов и релиз инженеры, использующие методологию Scrum, нуждаются в ежеспринтовой очистке RC-тегов. От спринта к спринту количество тегов может меняться и доходить до десятков. Удалять каждый GIT тег достаточно трудоёмко и хочется упростить свою работу множественным удалением GIT тегов. Это сделать достаточно просто: нужно всего лишь найти все теги по маске и применить к ним команду удаления тегов. Рекомендую выполнять команды именно в таком порядке, ибо первая ищет теги по маске на локальном компьютере и пытается удалить их с сервера, а вторая удаляет найденные теги с локального компьютера.
git tag -l | awk '/^(RC[0-9]+)$/ {print ":refs/tags/"$1}' | xargs git push origin
git tag -l | awk '/^(RC[0-9]+)$/ {print $1}' | xargs git tag -d
Здесь:
git tag -l
Выводит список всех теговawk
Ищет текст по регулярному выражению^(RC[0-9]+)$
Маска для поискаxargs
Применят команду к результатам