Je tape git tag
et il liste mes tags actuels:
1.2.3
1.2.4
Comment puis-je déterminer lequel de ceux-ci est annoté et lequel est léger?
Je tape git tag
et il liste mes tags actuels:
1.2.3
1.2.4
Comment puis-je déterminer lequel de ceux-ci est annoté et lequel est léger?
L' git show-ref -d --tags
commande de tri de fait, depuis léger balises de se produire une fois dans la sortie, et annoté les balises d'en avoir deux. Aussi, seulement annoté balises inclure le "^{}" opérateur de déréférencement dans la sortie.
588e9261795ec6dda4bd0a881cf1a86848e3d975 refs/tags/1.2.3
7fe2caaed1b02bb6dae0305c5c0f2592e7080a7a refs/tags/1.2.4
588e9261795ec6dda4bd0a881cf1a86848e3d975 refs/tags/1.2.4^{}
Et que la sortie peut être massé avec de l'unix de tri, sed, cut, et uniq commandes pour rendre la sortie plus lisible:
git show-ref -d --tags |
cut -b 42- | # to remove the commit-id
sort |
sed 's/\^{}//' | # remove ^{} markings
uniq -c | # count identical lines
sed 's/2\ refs\/tags\// a /' | # 2 identicals = annotated
sed 's/1\ refs\/tags\//lw /'
Pour mon premier dépôt (à partir de ma question), il renvoie ceci:
lw 1.2.3
a 1.2.4
(par exemple, 1.2.3 était "léger" et "1.2.4" a été annoté).
Obtenez le nom de la balise (disons foo
) puis faites un git cat-file -t foo
. S'il s'agit d'une balise annotée, cat-file
vous dira qu'il s'agit d'une "balise". S'il s'agit d'une simple balise, cat-file
vous dira qu'il s'agit d'un "commit".
Mise à jour: Comme oxymoron l’a dit dans son commentaire, git show
fonctionne également, mais il vous donne davantage d’informations que le type de balise correspondant.
S'il vous plaît essayez d'utiliser git describe
https://git-scm.com/docs/git-describe
Par défaut (sans --all ni --tags), git describe affiche uniquement les balises annotées.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.