Show the difference between local and remote tags:
diff <(git tag | sort) <( git ls-remote --tags origin | cut -f2 | grep -v '\^' | sed 's#refs/tags/##' | sort)
git tag
gives the list of local tagsgit ls-remote --tags
gives the list of full paths to remote tagscut -f2 | grep -v '\^' | sed 's#refs/tags/##'
parses out just the tag name from list of remote tag pathsThe lines starting with "< " are your local tags that are no longer in the remote repo. If they are few, you can remove them manually one by one, if they are many, you do more grep-ing and piping to automate it.