Pour les versions, j'étiquette généralement avec quelque chose comme v1.1.0. Pendant mon script de construction, je crée un fichier fwVersion.c qui contient les informations git actuelles. Actuellement, j'ai des informations de commit et de branche dans le fichier, mais je voudrais ajouter la balise.
Est-ce possible?
git describe --tags <commit-id>
pour les tags non annotésgit describe --all --exact-match `git rev-parse HEAD`
git describe --tags --abbrev=0 REV
sera utile lorsque vous ne voulez pas que le courrier indésirable sur l'étiquette.git describe --all
(pour le commit actuellement vérifié) ougit describe --all <commit>
j'ai toujours fait à peu près tout ce que j'ai toujours voulu.Si vous voulez la première balise contenant le commit, alors:
donne la meilleure réponse IMO. Si vous avez des balises fréquentes que d'utiliser "git tag --contains" sur un ancien commit dans un grand référentiel peut prendre un certain temps à s'exécuter et vous donne toutes les balises qui contiennent ce commit.
Cette forme de git describe s'exécute très rapidement et vous donne une valeur de sortie unique qui est la première balise contenant le commit et à quelle distance se trouve votre commit.
la source
Que dis-tu de ça?
git tag --points-at <commit-id>
Il vous donne toutes les balises du commit donné (alors
git describe
que vous n'en donne qu'un), et n'inclut pas les balises sur les commits descendants (comme legit tag --contains
fait).la source
Vous pouvez trouver ces informations dans le manuel
la source
J'ai trouvé la combinaison des deux principales réponses pour me donner ce que je voulais:
Cela vous donne la balise qui est UNIQUEMENT pour ce commit et pour ceux sans annotation. Utile lorsque vous souhaitez rechercher des balises et ne pas vous soucier de supprimer la mise en forme (pour Jenkins par exemple).
par exemple.
$ git describe --tags --exact-match head~2
Vous donne:
la source
Consolider certaines des réponses:
git tag --contains [<ref>]
et
git tag --points-at [<ref>]
ou juste
git tag
se comportent de la même manière, en imprimant toutes les balises (et toutes) pour la référence spécifiée ou le commit actuel si non spécifié.
git describe --tags [<ref>]
où par
<ref>
défaut la validation actuelle, quitte avec 128 si aucune balise n'est associée à la validation, et affiche une balise associée à la validation (il ne semble pas y avoir de modèle).git describe [<ref>]
se comporte de la même manière que avec--tags
sauf qu'il n'imprime que les balises annotées.Fournir l'option
--contains
àdescribe
affichera la balise a qui est associée à un ancêtre du commit spécifié. Par exemplela source