2012-07-01 17 views
6

Conocí a muchos desarrolladores que juran etiquetar gits. Personalmente, nunca he visto el uso en él.¿Por qué debería alguien etiquetar en Git?

Entiendo que puede poner información de versión en una etiqueta, pero ¿por qué no simplemente poner esa información en el mensaje de compromiso?

Estoy confundido sobre qué valor agrega la etiqueta que el mensaje de confirmación no puede.

+5

Una etiqueta es esencialmente una rama que está diseñada para no cambiar. Los usa por el mismo motivo por el que usa ramas (que tienen nombres para puntos particulares en el historial, en lugar de solo hashes), pero usa ramas para cuando espera que ese nombre cambie de ubicación, y etiquetas cuando no lo hace. – Amber

+0

@Amber ¡Explicación realmente buena! – Jonathan

Respuesta

8

Las etiquetas le permiten hacer referencia a una confirmación específica en el repositorio. Utilizando, por ejemplo, una etiqueta , puede obtener fácilmente la confirmación en su proyecto que corresponde, p. versión 1.5. Esto es preferible a recordar el hash de una confirmación específica, o desplazarse/greping a través de la información de registro para averiguar qué compromiso representa la versión 1.5.

Esto podría ser útil por muchas razones, pero tenga en cuenta sólo uno: usted tiene dos clientes que ejecutan diferentes versiones de su software, el cliente A en la versión 1.5 y el cliente B utilizando la versión 2.0. El cliente A informa de un error y no puede simplemente actualizar su instalación y, en su lugar, debe solucionar el error en el código de la versión 1.5. La versión de etiquetado 1.5 le permite volver fácilmente al código que están ejecutando y trabajar en una corrección de errores.

5

El mensaje de confirmación se usa generalmente para dar más información acerca de por qué se realizó la confirmación que simplemente 'es la versión X'.

Usando la etiqueta, puede volver a la versión etiquetada sin tener que desplazarse por el registro para encontrar el número de confirmación correcto; revisa la versión etiquetada directamente. Y el espacio de nombre más limitado para las etiquetas es un beneficio aquí, no un obstáculo.

8

En Git, una etiqueta le permite asignar un nombre simbólico (algo que es fácil de recordar) a una confirmación específica. Esto le permite hacer referencia a esa confirmación por nombre, en lugar de por raw commit.

A veces agrego una etiqueta local cuando me refiero repetidamente a una versión específica, como un punto justo antes de que se haya realizado un gran trabajo. También uso etiquetas anotadas para etiquetar un número de versión de lanzamiento específico (las etiquetas anotadas se pueden insertar fácilmente y pueden contener una descripción adicional que no sea solo un nombre).

2

en cuenta que puede sign a tag, lo cual es importante cuando se quiere empuje (es decir, publicar a otro repo)

Ver "Why do some open source projects do not accept pull requests, but emailing patch files only".

¿Por qué etiquetarías en Git (un distribuido sistema de control de versiones)?

Puede etiquetar para hacer referencia a un árbol con un nombre simbólico (como se explica en las otras respuestas).

Pero también puede firmar su etiqueta para contribuir a otro repositorio garantizando la integridad del contenido.
El destinatario solo necesita hacer es check that tag signature para confirmar que proviene de una fuente de confianza.

Cuestiones relacionadas