Skip to content

Instantly share code, notes, and snippets.

@matthewmccullough
Created April 1, 2011 20:29
Show Gist options
  • Save matthewmccullough/898798 to your computer and use it in GitHub Desktop.
Save matthewmccullough/898798 to your computer and use it in GitHub Desktop.
Script to delete all tags both locally and remotely
for t in `git tag`
do
git push origin :$t
git tag -d $t
done
@dminca
Copy link

dminca commented Jun 22, 2015

@simnalamburt that looks soo destructive, but I like it 😀

@RandomArray
Copy link

@mauris that Gist is a 404 now.

For anybody looking for a Windows version, I created a Gist below with the commands I used to remove all Tags on Windows. The Linux command xargs would not work. I would get an xargs: cannot fork: Permission denied error. Figured out I need to use the FOR command in Windows.

https://gist.github.com/RandomArray/fdaa427878952d9768b0

@jmrobison
Copy link

jmrobison commented Apr 26, 2016

We use bitbucket to host our git repo, and the commands above didn't work. This one did:

for tag in `git tag -l`
do
  git tag -d $tag
  git push -v origin :refs/tags/$tag
done

Reference: https://confluence.atlassian.com/bitbucket/how-do-i-remove-or-delete-a-tag-from-a-git-repo-282175551.html

@brendan-munro
Copy link

Very useful for cleaning up after testing some CI tools.

@chillyistkult
Copy link

git tag -l | xargs -n 1 git push --delete origin

fatal: --delete doesn't make sense without any refs

@narzero
Copy link

narzero commented Nov 5, 2017

@jmrobison, thanks, worked!

@numediaweb
Copy link

For the issue with --delete doesn't make sense without any refs here's how I delete all the tags for 1.3.* :
git ls-remote --tags origin | awk '/^(.*)(1\.3\.\d+)$/ {print ":" $2}' | xargs git push origin

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment