2016-06-09 1 views
1

Comment puis-je limiter les balises qui sont retournées en exécutantComment limiter le nombre de balises retournées dans la liste des git tag

git tag 

dans un certain nombre de balises? J'ai une très longue liste de balises et j'ai seulement besoin de voir ce qui était les dix derniers balises dans mon dépôt

+0

Liste tous les, puis sélectionnez les dix "derniers", pour lesquels vous aurez besoin de définir "dernier". Le tag v2.9.1-rc2 est-il postérieur à v2.9.1? La version 2.8.4 est-elle ultérieure à la version v2.9.0-rc0? Cela dépend-il du moment où la balise a été ajoutée (la date interne d'une balise annotée), ou de la date de l'auteur ou de l'auteur sur le commit, ou dépend-elle uniquement du nom de la balise? – torek

Répondre

1

Vous pouvez trier la liste de balises retournée par git tag en utilisant l'option --sort. Les détails sont disponibles sur la page de manuel: git-tag.

Le tri par défaut est lexicographique.

Préfixe - pour trier dans l'ordre décroissant de la valeur.

Ensuite, vous pouvez utiliser la commande head pour filtrer sur le nombre voulu. Si nécessaire, vous pouvez marquer grep -v NOT_NEED_PATTERN avant d'obtenir les 10 derniers.

Exemple

En supposant que vos balises augmentent numériquement sur la version (par exemple 1.0, 1.1, 2.0, ...), vous pouvez obtenir 10 dernière balise avec cette commande

git tag --sort=-refname |head -n 10 
1
git for-each-ref refs/tags/ --count=10 --sort=-refname --format="%(refname:short)"