Nosso repositório é um lixo com muitas tags de versão porque nosso sistema funciona com tags assinadas. Nosso script de lançamento implanta a última tag assinada do mestre.
Esta é uma pequena função shell para remover a tag do repositório local e, em seguida, do remoto:
function git-remove-tag {
if [[ -z $2 ]]; then remote="origin"; else remote=$2; fi
git tag -d $1; git push $remote :refs/tags/$1
}
Agora posso remover todas as tags de versão de correção de bug realmente urgente:
for v in `git tag | grep "d.d.d.d"`; do git-remove-tag $v bucket; done