Come cancellare un tag remoto?
Come si cancella un tag Git che è già stato spinto?
3077
3
Come si cancella un tag Git che è già stato spinto?
Hai solo bisogno di spingere un 'empty' riferimento al nome del tag remoto:
Oppure, in modo più espressivo, usa l'opzione
--delete
(o-d
se la tua versione di git è più vecchia della 1.8.0):Nota che git ha il namespace dei tag e il namespace dei rami, quindi puoi usare lo stesso nome per un ramo e per un tag. Se vuoi essere sicuro di non poter rimuovere accidentalmente il ramo invece del tag, puoi specificare full ref che non cancellerà mai un ramo:
Se hai anche bisogno di cancellare il tag locale, usa:
Sfondo
Spingere un ramo, un tag o un altro ref a un repository remoto implica specificare "quale repo, quale sorgente, quale destinazione?
Un esempio del mondo reale in cui si spinge il proprio ramo master al ramo master dell'origine è:
Che a causa dei percorsi predefiniti, può essere abbreviato in:
I tag funzionano allo stesso modo:
Che può anche essere abbreviato in:
Omettendo il ref di origine (la parte prima dei due punti), si spinge 'niente' alla destinazione, cancellando il ref sul lato remoto.
Un modo più diretto è
IMO la sintassi dei due punti è un po' strana in questa situazione
Se avete un tag remoto
v0.1.0
da cancellare, e il vostro remoto èorigin
, allora semplicemente:Se hai anche bisogno di cancellare il tag localmente:
Vedi Adam Franco'risposta per una spiegazione dell'insolita sintassi di Git
:
per la cancellazione.