Comment lister toutes les étiquettes Git?
dans mon dépôt, j'ai créé des balises en utilisant les commandes suivantes.
git tag v1.0.0 -m 'finally a stable release'
git tag v2.0.0 -m 'oops, there was still a major bug!'
comment répertorier toutes les balises du dépôt?
9 réponses
git tag
devrait suffire. Voir git tag
l'homme page
vous avez aussi:
git tag -l <pattern>
liste tags avec des noms qui correspondent au modèle donné (ou tous si aucun modèle n'est donné).
En tapant "git tag" sans arguments, vous avez aussi la liste de toutes les balises.
plus récemment (" comment trier les étiquettes git? ", pour Git 2.0+)
git tag --sort=<type>
trier dans un ordre précis.
le type supporté est:
- "
refname
"(ordre lexicographique),version:refname
"orv:refname
" (les noms d'étiquettes sont traités comme des versions).Prepend "-" pour inverser l'ordre de tri.
qui énumère les deux:
- tags annotés : objets complets stockés dans la base de données Git. Ils sont contrôlés; contiennent le nom du tagger, l'e-mail et la date; ont un message de marquage; et peuvent être signés et vérifiés avec GNU Privacy Guard (GPG).
- léger tags : simple pointeur à un commettre
Note: l'article git ready sur le marquage désapprouve le marquage léger.
sans arguments, git tag crée une étiquette" légère " qui est essentiellement une branche qui ne bouge jamais.
Les étiquettes légères sont encore utiles cependant, peut-être pour marquer une bonne (ou mauvaise) version connue, ou un tas de commits que vous pouvez avoir besoin d'utiliser dans l'avenir.
Néanmoins, vous ne voulez probablement pas pousser ces types d'étiquettes .normalement, vous voulez au moins passer l'option-a pour créer une étiquette non signée, ou signer l'étiquette avec votre clé GPG via les options-s ou-U.
cela étant dit, Charles Bailey "souligne qu'un git tag -m "..."
" implique en fait un étiquette (non signée) appropriée (option ' -a
'), et non légère. Donc vous êtes bon avec votre commande initiale.
cela diffère de:
git show-ref --tags -d
qui liste les tags avec leurs commits (voir " git Tag list, display commit sha1 hashes ").
Notez le -d
afin de déréférencer l'objet tag annoté (qui ont leur propre commit SHA1) et le tagged commettre.
de même, git show --name-only <aTag>
listerait l'étiquette et la propagation associée.
pour lister les étiquettes que je préfère:
git tag -n
le drapeau -n
affiche la première ligne du message d'annotation avec la balise, ou la première ligne du message de propagation si la balise n'est pas annotée.
vous pouvez également faire git tag -n5
pour montrer les 5 premières lignes de l'annotation.
aussi git show-ref
est plutôt utile, de sorte que vous pouvez directement associer tags avec correspondant commits :
$ git tag
osgeolive-6.5
v8.0
...
$ git show-ref --tags
e7e66977c1f34be5627a268adb4b9b3d59700e40 refs/tags/osgeolive-6.5
8f27e65bddd7d4b8515ce620fb485fdd78fcdf89 refs/tags/v8.0
...
et voici comment vous trouvez les tags distants:
git ls-remote --tags origin
Essayer de faire git tag
il devrait être suffisant si pas essayer de faire git fetch
puis git tag
.
pour voir les détails sur la dernière étiquette disponible que j'utilise parfois:
git show `git describe` --pretty=fuller
si vous voulez vérifier votre nom d'étiquette localement, vous devez aller sur le chemin où vous avez créé l'étiquette(chemin local). Dire où vous avez mis vos objets. Puis tapez la commande:
git show --name-only <tagname>
il affichera tous les objets sous ce nom d'étiquette. Je travaille dans Teradata et l'objet de moyens de vue, table, etc
vous pouvez énumérer toutes les étiquettes existantes git tag
ou vous pouvez filtrer la liste avec git tag -l 'v1.1.*'
, où *
agit comme un joker. Il retournera une liste d'étiquettes marquées v1.1
.
, Vous remarquerez que lorsque vous appelez git tag
vous n'obtenez pas de voir le contenu de vos annotations. Pour les prévisualiser, vous devez ajouter -n
à votre commande: git tag -n2
.
$ git tag -l-n2 v1.Version 1.0 v1.1 Version 1.1
la commande Liste toutes les étiquettes existantes avec un maximum de 3 lignes de leur message d'étiquette. Par défaut -n
ne montre que la première ligne. Pour plus d'informations soyez sûr de vérifier cet article lié à l'étiquette ainsi.
énumérant les étiquettes disponibles dans Git est simple. Il suffit de taper git tag
(avec option -l
ou --list
).
$ git tag
v5.5
v6.5
vous pouvez également rechercher des étiquettes qui correspondent à un motif particulier.
$ git tag -l "v1.8.5*"
v1.8.5
v1.8.5-rc0
v1.8.5-rc1
v1.8.5-rc2
obtenir la dernière étiquette sur le dépôt git
la commande trouve la balise la plus récente qui est accessible à partir d'un commit. Si la balise points à le commettre, alors que l'étiquette est affichée. Sinon, il suffixe le nom de la balise avec le nombre de commits supplémentaires sur le dessus de l'objet étiqueté et le nom abrégé de l'objet de la plus récente commit.
git describe
avec --abbrev
défini à 0
, la commande peut être utilisée pour trouver le plus proche tagname
sans aucun suffixe:
git describe --abbrev=0
autres exemples:
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
Comment tailler git local des balises qui n'existent pas sur à distance
pour simplifier, si vous essayez de faire quelque chose comme git fetch -p -t
, il ne fonctionnera pas à partir de la version git 1.9.4
.
cependant, il existe une solution simple qui fonctionne toujours dans les dernières versions:
git tag -l | xargs git tag -d // remove all local tags
git fetch -t // fetch remote tags