Created
October 31, 2013 21:10
-
-
Save shsteimer/7257245 to your computer and use it in GitHub Desktop.
Tip to delete tags by pattern
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#delete all the remote tags with the pattern your looking for, ie. DEV- | |
git tag | grep <pattern> | xargs -n 1 -i% git push origin :refs/tags/% | |
#delete all your local tags | |
git tag | xargs -n 1 -i% git tag -d % | |
#fetch the remote tags which still remain | |
git fetch |
Thank you for all these great commands!
Regarding @kerryj89 's version, you can modify it to work with any remote:
git push upstream --delete $(git ls-remote --tags upstream | grep "tag_prefix.*[^}]$" | cut -f 2)
Thanks @kerryj89. This worked fine on macOS! 👏
You can try this. It will delete all matching tag patterns. E.g. for deleting tags starting with v1.0, use
git tag -d $(git tag -l "v1.0*")
Delete remote:
git push -d $(git tag -l "tag_prefix*")
Delete local:git tag -d $(git tag -l "tag_prefix*")
Thank You @chinmaya-kony & @luwes.
Thank You All for the help🙏🏻
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I accomplished this in posh-git PowerShell on Windows with this if anyone is needing to do the same:
git tag --list 'v[0-9].[1-9].*' --no-column | % { git tag -d $_; git push origin --delete $_ }
Note that I was specifying all builds from v1.1.0 and up, deleting them locally, and from the remote.