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.