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

tag - tipos de etiquetas en git



¿Qué nombres son etiquetas git válidas? (1)

Recibo un mensaje de error al crear una etiqueta que contiene [ carácter:

fatal: ''['' no es un nombre de etiqueta válido.

Pregunta: ¿hay reglas para las etiquetas en el git?


Puede comprobar si el nombre es válido con

git check-ref-format

Esta page contiene las restricciones sobre un nombre válido. Citado de la página (posiblemente desactualizado en el futuro):

  1. Pueden incluir barra diagonal / para agrupación jerárquica (directorio), pero ningún componente separado por barra puede comenzar con un punto . o terminar con la secuencia .lock .

  2. Deben contener al menos una / . Esto obliga a la presencia de una categoría como heads/ , tags/ etc. pero los nombres reales no están restringidos. Si se usa la opción --allow-onelevel , esta regla no se aplica.

  3. No pueden tener dos puntos consecutivos .. cualquier lugar.

  4. No pueden tener caracteres de control ASCII (es decir, bytes cuyos valores sean inferiores a / 040 o / 177 DEL ), espacio, tilde ~ , caret ^ o dos puntos : cualquier lugar.

  5. ¿No pueden tener un signo de interrogación ? , asterisco * , o corchete abierto [ cualquier lugar. Consulte la opción --refspec-pattern continuación para ver una excepción a esta regla.

  6. No pueden comenzar ni terminar con una barra diagonal o contener varias barras diagonales consecutivas (consulte la opción --normalize continuación para obtener una excepción a esta regla)

  7. No pueden terminar con un punto . .

  8. No pueden contener una secuencia @{ .

  9. No pueden ser el único carácter @ .

  10. No pueden contener un / .

Como puede ver, en su caso violó la regla (5).

Puede utilizar el indicador --normalize para normalizar las etiquetas con respecto a las barras diagonales (eliminando las barras diagonales iniciales y las consecutivas):

git check-ref-format --normalize "tags/weird//tag"

Las tags/ especies de la parte que está validando una tag .

Después de una discusión con @NikosAlexandris, puede escribir el siguiente forro para verificar la etiqueta <some-tag> con comentarios textuales:

git check-ref-format "tags/<some-tag>" && echo "Valid tag" || echo "Invalid tag"