tipos tag remove qué practices oneline log hace existen etiquetas crear best git git-tag

tag - ¿Cómo listar todas las etiquetas de Git?



tipos de etiquetas en git (9)

Además, git show-ref es bastante útil, por lo que puede asociar directamente las etiquetas con las confirmaciones correspondientes:

$ git tag osgeolive-6.5 v8.0 ... $ git show-ref --tags e7e66977c1f34be5627a268adb4b9b3d59700e40 refs/tags/osgeolive-6.5 8f27e65bddd7d4b8515ce620fb485fdd78fcdf89 refs/tags/v8.0 ...

En mi repositorio, he creado etiquetas usando los siguientes comandos.

git tag v1.0.0 -m ''finally a stable release'' git tag v2.0.0 -m ''oops, there was still a major bug!''

¿Cómo se enumeran todas las etiquetas en el repositorio?


Listado de las etiquetas disponibles en Git es sencillo. Simplemente escriba git tag (con opcional -l o --list ).

$ git tag v5.5 v6.5

También puede buscar etiquetas que coincidan con un patrón particular.

$ git tag -l "v1.8.5*" v1.8.5 v1.8.5-rc0 v1.8.5-rc1 v1.8.5-rc2

Obtener la última etiqueta en el repositorio git

El comando encuentra la etiqueta más reciente a la que se puede acceder desde una confirmación. Si la etiqueta apunta a la confirmación, solo se muestra la etiqueta. De lo contrario, el nombre de la etiqueta aparece con el número de confirmaciones adicionales encima del objeto etiquetado y el nombre de objeto abreviado de la confirmación más reciente.

git describe

Con --abbrev establecido en 0 , el comando se puede usar para encontrar el nombre de tagname más tagname sin ningún sufijo:

git describe --abbrev=0

Otros ejemplos:

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

Cómo podar las etiquetas git locales que no existen en el control remoto

En pocas palabras, si intenta hacer algo como git fetch -p -t , no funcionará a partir de la versión 1.9.4 git.

Sin embargo, hay una solución simple que aún funciona en las últimas versiones:

git tag -l | xargs git tag -d // remove all local tags git fetch -t // fetch remote tags


Para listar las etiquetas que prefiero:

git tag -n

El indicador -n muestra la primera línea del mensaje de anotación junto con la etiqueta, o la primera línea de mensaje de confirmación si la etiqueta no está anotada.

También puede hacer git tag -n5 para mostrar las primeras 5 líneas de la anotación.


Para ver detalles sobre la última etiqueta disponible a veces uso:

git show `git describe` --pretty=fuller


Puede enumerar todas las etiquetas existentes git tag o puede filtrar la lista con git tag -l ''v1.1.*'' , Donde * actúa como un comodín. Devolverá una lista de etiquetas marcadas con v1.1 .

Notará que cuando llama a la git tag no puede ver el contenido de sus anotaciones. Para obtener una vista previa de ellos, debe agregar -n a su comando: git tag -n2 .

$ git tag -l -n2 v1.0 Release versión 1.0 v1.1 Release versión 1.1

El comando enumera todas las etiquetas existentes con un máximo de 3 líneas de su mensaje de etiqueta. Por defecto -n solo muestra la primera línea. Para obtener más información, asegúrese de consultar esta etiqueta relacionada con el artículo también.


Si desea verificar su nombre de etiqueta localmente, debe ir a la ruta donde creó la etiqueta (ruta local). Significa donde has puesto tus objetos. Luego escriba el comando:

git show --name-only <tagname>

Mostrará todos los objetos bajo ese nombre de etiqueta. Estoy trabajando en Teradata y objeto significa vista, tabla, etc.


Trate de hacer git tag , debería ser suficiente si no intenta hacer git fetch luego git tag .


Y aquí es cómo se encuentran las etiquetas remotas:

git ls-remote --tags origin


git tag

debería ser suficiente. Ver la página del manual de git tag

Tu también tienes:

git tag -l <pattern>

Enumere las etiquetas con nombres que coincidan con el patrón dado (o todo si no se da ningún patrón).
Al escribir "git tag" sin argumentos, también se enumeran todas las etiquetas.

Más recientemente (" ¿Cómo ordenar las etiquetas git? ", Para Git 2.0+)

git tag --sort=<type>

Ordenar en un orden específico.

El tipo soportado es:

  • " refname " (orden lexicográfico),
  • " version:refname " o " v:refname " (los nombres de las etiquetas se tratan como versiones).

Anteponer "-" para invertir el orden de clasificación.

Eso enumera ambos:

  • Etiquetas anotadas : objetos completos almacenados en la base de datos Git. Son sumas de comprobación contienen el nombre, el correo electrónico y la fecha del etiquetador; tener un mensaje de etiquetado; y se puede firmar y verificar con GNU Privacy Guard (GPG).
  • Etiquetas ligeras : puntero simple a una confirmación existente

Nota: el artículo de git ready sobre etiquetado desaprueba la etiqueta ligera.

Sin argumentos, la etiqueta git crea una etiqueta "liviana" que es básicamente una rama que nunca se mueve.
Sin embargo, las etiquetas ligeras siguen siendo útiles, quizás para marcar una versión conocida (o mala) o un montón de confirmaciones que puede necesitar usar en el futuro.
Sin embargo, es probable que no desee empujar este tipo de etiquetas .

Normalmente, usted desea al menos pasar la opción -a para crear una etiqueta sin firmar, o firmar la etiqueta con su clave GPG a través de las opciones -s o -u.

Dicho esto, Charles Bailey señala que una git tag -m "..." '' git tag -m "..." '' en realidad implica una etiqueta adecuada (anotada sin firmar) (opción '' -a ''), y no una etiqueta ligera. Así que eres bueno con tu orden inicial.

Esto difiere de:

git show-ref --tags -d

¿Qué listas de etiquetas con sus confirmaciones?
Observe la -d para anular la referencia al objeto de etiqueta anotado (que tiene su propia confirmación SHA1) y muestre la confirmación real etiquetada real.

De manera similar, git show --name-only <aTag> la etiqueta y la confirmación asociada.