Eine lokale Löschung ist sehr einfach. Man verwendet einfach den git tag
-Command mit dem Parameter -d
1git tag -d TAGNAME
2# Als Beispiel wäre folgendes
3git tag -d v1.1
4# Man kann hier auch mehrere Tags auf einmal löschen
5git -d v1.1 v1.2 v1.3
Um einen oder mehrere Git Tags Remote zu löschen, kann man eine Leere Referenz auf den entsprechenden Remote Tag setzen.
1git push REMOTENAME :TAGNAME
2# Oder um es verständlicher auszudrücken:
3git push --delete REMOTENAME TAGNAME
4
5# Als Beispiele
6git push origin :v1.1
7git push --delete origin v1.1
8
9# Möchte man sicher gehen nicht versehentlich einen Branch zu erwischen (sollten diese genauso heißen wie der Tag, kann man hier eine volle Referenz verwenden)
10git push origin :refs/tags/tagname
11
12# Als Beispiel
13git push origin :refs/head/v100
14
15# Man kann hier auch mehrere Tags auf einmal löschen
16git push --delete origin v1.1 v1.2 v1.3
Wenn man ein Branch, Tag oder eine andere Referenz zu einem Remote Repository pusht, beinhaltet es immer welches Repository, welche Quelle, welches Ziel.
1git push remote-repo source-ref:destination-ref
2# Als Beispiel (master branch zu dem "origin" master branch)
3git push origin refs/heads/master:refs/heads/master
Aufgrund von Standards, kann man allerdings vieles weglassen, so wird das Beispiel von oben gerade mal zu:
1git push origin master:master
Tags arbeiten auf der selben Ebene. Wenn man also eine Leere Referenz (im grundegenommen also nichts) zu dem Ziel überträgt, führt das zu einer löschung des Ziels.