Nel mio repository, ho creato i tag utilizzando i seguenti comandi.
git tag v1.0.0 -m 'finally a stable release'
git tag v2.0.0 -m 'oops, there was still a major bug!'
Come si elencano tutti i tag nel repository?
Nel mio repository, ho creato i tag utilizzando i seguenti comandi.
git tag v1.0.0 -m 'finally a stable release'
git tag v2.0.0 -m 'oops, there was still a major bug!'
Come si elencano tutti i tag nel repository?
Risposte:
git tag
dovrebbe essere abbastanza. Vedi la git tag
pagina man
Hai anche:
git tag -l <pattern>
Elenca i tag con nomi che corrispondono al modello dato (o tutti se non viene fornito alcun modello).
Digitando "tag git" senza argomenti, vengono elencati anche tutti i tag.
Più recentemente (" Come ordinare i tag git? ", Per Git 2.0+)
git tag --sort=<type>
Ordina in un ordine specifico.
Il tipo supportato è:
- "
refname
" (ordine lessicografico),- "
version:refname
" o "v:refname
" (i nomi dei tag sono trattati come versioni).Prependi "-" per invertire l'ordinamento.
Questo elenca entrambi:
Nota: l' articolo git ready sull'etichettatura non approva il tag leggero.
Senza argomenti, il tag git crea un tag "leggero" che è fondamentalmente un ramo che non si muove mai.
I tag leggeri sono comunque utili, forse per contrassegnare una versione buona (o cattiva) nota, o una serie di commit che potrebbe essere necessario utilizzare in futuro.
Tuttavia, probabilmente non vuoi spingere questo tipo di tag .Normalmente, si desidera almeno passare l'opzione -a per creare un tag non firmato o firmare il tag con la chiave GPG tramite le opzioni -s o -u.
Detto questo, Charles Bailey sottolinea che un ' git tag -m "..."
' implica in realtà un tag (opzione ' -a
') corretto (senza segno ), e non uno leggero. Quindi sei bravo con il tuo comando iniziale.
Questo differisce da:
git show-ref --tags -d
Che elenca i tag con i loro commit (vedi " Elenco dei tag Git, visualizza hash di commit sha1 ").
Nota al -d
fine di dereferenziare l'oggetto tag annotato (che ha il proprio commit SHA1) e visualizzare il commit con tag effettivo.
Allo stesso modo, git show --name-only <aTag>
elencherebbe il tag e il commit associato.
Per elencare i tag che preferisco:
git tag -n
Il -n
flag mostra la prima riga del messaggio di annotazione insieme al tag o la prima riga del messaggio di commit se il tag non è annotato.
Puoi anche fare git tag -n5
per mostrare le prime 5 righe dell'annotazione.
Inoltre git show-ref
è piuttosto utile, in modo da poter associare direttamente i tag ai commit corrispondenti :
$ git tag
osgeolive-6.5
v8.0
...
$ git show-ref --tags
e7e66977c1f34be5627a268adb4b9b3d59700e40 refs/tags/osgeolive-6.5
8f27e65bddd7d4b8515ce620fb485fdd78fcdf89 refs/tags/v8.0
...
hg tags
mi piace che git show-ref
mi dà il tag E la revisione.
Ed ecco come trovare i tag remoti:
git ls-remote --tags origin
Prova a farlo git tag
dovrebbe essere sufficiente se non prova a farlo git fetch
allora git tag
.
git tag
eseguire il comando dovrebbe essere sufficiente se si desidera solo visualizzare un elenco di tag disponibili. Se non riesci a vedere alcuni tag che ritieni possano esistere sul telecomando, i tag locali potrebbero non essere sincronizzati con il telecomando. In questo caso, recupera prima gli ultimi ref / head dal telecomando git fetch
, seguito da quello reale git tag
. Di solito gestisco un one-liner come questo: $ git fetch -p && git tag
solo per essere sicuro che sto guardando l'ultimo e il più grande.
Elencare i tag disponibili in Git è semplice. Basta digitare git tag
(con facoltativo -l
o --list
).
$ git tag
v5.5
v6.5
Puoi anche cercare tag che corrispondono a un modello particolare.
$ git tag -l "v1.8.5*"
v1.8.5
v1.8.5-rc0
v1.8.5-rc1
v1.8.5-rc2
Ottenere l'ultimo tag sul repository git
Il comando trova il tag più recente raggiungibile da un commit. Se il tag punta al commit, viene mostrato solo il tag. In caso contrario, è sufficiente il nome del tag con il numero di commit aggiuntivi sopra l'oggetto con tag e il nome oggetto abbreviato del commit più recente.
git describe
Con --abbrev
set su 0
, il comando può essere utilizzato per trovare il più vicino tagname
senza alcun suffisso:
git describe --abbrev=0
Altri esempi:
git describe --abbrev=0 --tags # gets tag from current branch
git describe --tags `git rev-list --tags --max-count=1` // gets tags across all branches, not just the current branch
Come eliminare i tag git locali che non esistono sul telecomando
Per dirla semplice, se stai cercando di fare qualcosa del genere git fetch -p -t
, non funzionerà a partire dalla versione git 1.9.4
.
Tuttavia, esiste una soluzione semplice che funziona ancora nelle ultime versioni:
git tag -l | xargs git tag -d // remove all local tags
git fetch -t // fetch remote tags
v0.1.0-rc1 fatal: No tags can describe '5db7534...4a94'. Try --always, or create some tags.
Per visualizzare i dettagli sull'ultimo tag disponibile a volte utilizzo:
git show `git describe` --pretty=fuller
Se si desidera verificare il nome del tag localmente, è necessario andare al percorso in cui è stato creato il tag (percorso locale). Significa dove hai messo i tuoi oggetti. Quindi digitare il comando:
git show --name-only <tagname>
Mostrerà tutti gli oggetti con quel nome di tag. Sto lavorando a Teradata e oggetto significa vista, tabella ecc
Puoi elencare tutti i tag esistenti git tag
o filtrare l'elenco con git tag -l 'v1.1.*'
, dove *
funge da jolly. Restituirà un elenco di tag contrassegnati con v1.1
.
Noterai che quando chiami git tag
non riesci a vedere il contenuto delle tue annotazioni. Per visualizzare in anteprima è necessario aggiungerli -n
al comando: git tag -n2
.
$ git tag -l -n2
Versione 1.0 1.0
versione 1.1 della versione 1.1
Il comando elenca tutti i tag esistenti con un massimo di 3 righe del loro messaggio tag. Di default -n
mostra solo la prima riga. Per ulteriori informazioni assicurati di controllare anche questo articolo relativo ai tag .