Dans mon référentiel, j'ai créé des balises à l'aide des 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épertoriez-vous toutes les balises dans le référentiel?
Dans mon référentiel, j'ai créé des balises à l'aide des 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épertoriez-vous toutes les balises dans le référentiel?
Réponses:
git tag
devrait suffire. Voir la git tag
page de manuel
Vous avez aussi:
git tag -l <pattern>
Liste des balises avec des noms qui correspondent au modèle donné (ou tous si aucun modèle n'est donné).
Taper "git tag" sans arguments, répertorie également toutes les balises.
Plus récemment (" Comment trier les tags git? ", Pour Git 2.0+)
git tag --sort=<type>
Trier dans un ordre spécifique.
Le type pris en charge est:
- "
refname
" (ordre lexicographique),- "
version:refname
" ou "v:refname
" (les noms de balises sont traités comme des versions).Ajoutez "-" pour inverser l'ordre de tri.
Cela répertorie les deux:
Remarque: l' article git ready sur le marquage désapprouve le tag léger.
Sans arguments, git tag crée une balise «légère» qui est essentiellement une branche qui ne bouge jamais.
Les balises légères sont toujours utiles, peut-être pour marquer une bonne (ou mauvaise) version connue, ou un tas de commits que vous devrez peut-être utiliser à l'avenir.
Néanmoins, vous ne voudrez probablement pas pousser ce type de balises .Normalement, vous voulez au moins passer l'option -a pour créer une balise non signée, ou signer la balise avec votre clé GPG via les options -s ou -u.
Cela étant dit, Charles Bailey souligne qu'un ' git tag -m "..."
' implique en fait une balise appropriée (annotée non signée) (option ' -a
'), et non une balise légère. Vous êtes donc bon avec votre commande initiale.
Cela diffère de:
git show-ref --tags -d
Qui répertorie les balises avec leurs validations (voir " Git Tag list, display commit sha1 hashes ").
Notez le -d
afin de déréférencer l'objet tag annoté (qui a son propre commit SHA1) et afficher le commit tagué réel.
De même, git show --name-only <aTag>
répertorierait la balise et la validation associée.
Pour lister les tags que je préfère:
git tag -n
L' -n
indicateur affiche la première ligne du message d'annotation avec la balise, ou la première ligne de message de validation si la balise n'est pas annotée.
Vous pouvez également faire git tag -n5
pour afficher les 5 premières lignes de l'annotation.
Aussi git show-ref
est assez utile, de sorte que vous pouvez directement associer des tags avec le correspondant commits :
$ git tag
osgeolive-6.5
v8.0
...
$ git show-ref --tags
e7e66977c1f34be5627a268adb4b9b3d59700e40 refs/tags/osgeolive-6.5
8f27e65bddd7d4b8515ce620fb485fdd78fcdf89 refs/tags/v8.0
...
hg tags
j'aime ça git show-ref
me donne le tag ET la révision.
Et voici comment vous trouvez les balises distantes:
git ls-remote --tags origin
Essayez de le faire git tag
devrait être suffisant sinon essayez de le faire git fetch
ensuite git tag
.
git tag
commande devrait être suffisante si vous voulez simplement voir une liste des balises disponibles. Si vous ne voyez pas certaines balises qui, selon vous, peuvent exister sur la télécommande, vos balises locales peuvent ne pas être synchronisées avec la télécommande. Dans ce cas, récupérez d'abord les dernières références / têtes de la télécommande git fetch
, puis la réelle git tag
. Je gère généralement un one-liner comme celui-ci: $ git fetch -p && git tag
juste pour être sûr que je regarde le plus récent et le plus grand.
La liste des balises disponibles dans Git est simple. Tapez simplement git tag
(avec facultatif -l
ou --list
).
$ git tag
v5.5
v6.5
Vous pouvez également rechercher des balises correspondant à un modèle 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 balise sur le référentiel git
La commande recherche la balise la plus récente accessible à partir d'une validation. Si la balise pointe vers la validation, seule la balise est affichée. Sinon, il suffixe le nom de la balise avec le nombre de validations supplémentaires au-dessus de l'objet balisé et le nom d'objet abrégé de la validation la plus récente.
git describe
Avec --abbrev
set to 0
, la commande peut être utilisée pour trouver le plus proche tagname
sans 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 les balises git locales qui n'existent pas à distance
Pour faire simple, si vous essayez de faire quelque chose comme git fetch -p -t
ça, cela ne fonctionnera pas à partir de la version git 1.9.4
.
Cependant, il existe une solution de contournement 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
v0.1.0-rc1 fatal: No tags can describe '5db7534...4a94'. Try --always, or create some tags.
Pour voir les détails de la dernière balise disponible que j'utilise parfois:
git show `git describe` --pretty=fuller
Si vous voulez vérifier votre nom de balise localement, vous devez vous rendre sur le chemin où vous avez créé la balise (chemin local). Signifie où vous avez placé vos objets. Tapez ensuite la commande:
git show --name-only <tagname>
Il affichera tous les objets sous ce nom de balise. Je travaille dans Teradata et l'objet signifie la vue, la table, etc.
Vous pouvez répertorier toutes les balises existantes git tag
ou filtrer la liste avec git tag -l 'v1.1.*'
, où *
agit comme un caractère générique. Il renverra une liste de balises marquées avec v1.1
.
Vous remarquerez que lorsque vous appelez, git tag
vous ne voyez pas le contenu de vos annotations. Pour les visualiser , vous devez ajouter -n
à votre commande: git tag -n2
.
$ git tag -l -n2
v1.0 Release version 1.0
v1.1 Release version 1.1
La commande répertorie toutes les balises existantes avec un maximum de 3 lignes de leur message de balise. Par défaut, -n
ne montre que la première ligne. Pour plus d'informations, assurez-vous de vérifier également cet article lié à la balise .
Pour qu'une interface graphique le fasse, je viens de découvrir que «gitk» prend en charge les vues nommées. Les vues ont plusieurs options pour sélectionner les validations. Un très pratique est une boîte pour sélectionner "Toutes les balises". Cela semble fonctionner pour moi de voir les balises.