Question Comment supprimer un tag distant git?


Comment supprimer un tag git qui a déjà été poussé?


2123
2018-03-29 23:41


origine


Réponses:


Vous avez juste besoin de pousser une référence "vide" au nom de tag distant:

git push origin :tagname

Ou, plus expressivement, utilisez le --delete option (ou -d si votre version git est antérieure à 1.8.0):

git push --delete origin tagname

Si vous devez également supprimer la balise locale, utilisez:

git tag --delete tagname

Contexte

Pousser une branche, une balise ou une autre référence vers un référentiel distant implique de spécifier "pousser où, quelle source, quelle destination?"

git push where-to-push source-ref:destination-ref

Un exemple réel où vous poussez votre branche maîtresse vers la branche principale de l'origine est:

git push origin refs/heads/master:refs/heads/master

Qui, en raison des chemins par défaut, peut être raccourci à:

git push origin master:master

Les tags fonctionnent de la même manière:

git push origin refs/tags/release-1.0:refs/tags/release-1.0

Qui peut aussi être raccourci à:

git push origin release-1.0:release-1.0

En omettant la référence de la source (la partie avant les deux points), vous poussez 'rien' vers la destination, en supprimant la référence de l'extrémité distante.


3499
2018-03-29 23:45



Un moyen plus simple est

git push --delete origin YOUR_TAG_NAME

La syntaxe du côlon préfixe IMO est un peu étrange dans cette situation


243
2017-10-09 00:47



Si vous avez un tag distant v0.1.0 supprimer, et votre télécommande est origin, puis simplement:

git push origin :refs/tags/v0.1.0

Si vous devez également supprimer le tag localement:

git tag -d v0.1.0

Voir Adam FrancoLa réponse pour une explication de inhabituelle de Git : syntaxe pour la suppression.


133
2017-07-21 16:14



Supprimer tous les tags locaux et obtenir la liste des tags distants:

git tag -l | xargs git tag -d
git fetch

Supprimer tous les tags distants

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

Nettoyer les tags locaux

git tag -l | xargs git tag -d

72
2018-04-02 02:26



Pour supprimer la balise du référentiel distant:

git push --delete origin TAGNAME

Vous pouvez également vouloir supprimer le tag localement:

git tag -d TAGNAME

26
2017-09-04 10:30



Depuis votre terminal, faites ceci:

git fetch
git tags
git tag -d {tag-name}
git push origin :refs/tags/{tag-name}

Maintenant, allez sur Github.com et rafraîchissez-les, ils disparaissent.


17
2018-06-27 13:23



Notez juste que, si vous avez une branche distante nommée comme une balise distante, ces commandes sont ambiguës:

git push origin :tagname
git push --delete origin tagname

Vous devez donc utiliser cette commande pour supprimer la balise:

git push origin :refs/tags/<tag>

et celui-ci pour supprimer la branche:

git push origin :refs/heads/<branch>

Sinon, vous obtiendrez une erreur comme celle-ci:

error: dst refspec <tagname> matches more than one.
error: failed to push some refs to '<repo>'

12
2018-05-05 17:28



Si vous avez créé un tag appelé release01 Dans un référentiel Git, vous le supprimez de votre référentiel en procédant comme suit:

git tag -d release01 
git push origin :refs/tags/release01 

Pour en supprimer un dans un référentiel Mercurial:

hg tag --remove featurefoo

S'il vous plaît référence https://confluence.atlassian.com/pages/viewpage.action?pageId=282175551


8
2017-11-11 05:54