Da Anonimo (non verificato) , 29 Aprile 2026

Sinossi

git tag [-a] [-s] [-m <msg>] <name> [<commit>]
git tag -l ['<pattern>']
git tag -d <name>

Descrizione

Il comando git tag marca commit specifici con un nome memorizzabile, tipicamente usato per le release. Ci sono due tipi di tag: lightweight (solo un puntatore nominato) e annotated (un oggetto Git completo con autore, data, messaggio e firma GPG opzionale). Per le release, crea sempre tag annotated — portano i metadati che la gestione delle release richiede.

I tag NON vengono pushati per default. Usa git push origin v1.2.3 per pubblicare un singolo tag, o git push --tags per tutti. Una volta pubblicati, i tag sono normalmente immutabili; riscrivere un tag pubblicato rompe i consumatori ed è fortemente sconsigliato.

Nell'uso quotidiano, git tag si integra con alias e CI.

Capire il modello dati di Git aiuta a prevedere i risultati.

Opzioni comuni

OpzioneDescrizione
-aCrea un tag annotated.
-sCrea un tag annotated firmato GPG.
-m <msg>Imposta il messaggio del tag.
-l '<pattern>'Elenca tag che corrispondono a un glob.
-d <name>Cancella un tag locale.
-v <name>Verifica un tag firmato.
-fSostituisce un tag esistente (usa con cautela).
--sort=<key>Ordina la lista (es. -v:refname).

Esempi

git tag -a v1.0.0 -m "Release 1.0"
# Crea un tag annotated all'HEAD

git tag -s v1.0.1 -m "Patch release" abc123
# Tag firmato GPG a un commit specifico

git tag -l 'v1.*' --sort=-v:refname
# Elenca i tag 1.x dal più nuovo

git push origin v1.0.0
# Pubblica un tag

Errori comuni

Creare un tag lightweight per una release perde metadati e firma. Usa -a o -s. Dimenticare git push --tags significa che i colleghi non vedono mai il tuo tag. Spostare un tag con -f dopo la pubblicazione confonde le cache e i sistemi CI.

Comandi correlati

git describe, git show, git push, git verify-tag