2010-02-18 8 views
15

Cada tutorial de git que examina tiene una opinión clara sobre las etiquetas: Siempre se deben usar las etiquetas anotadas, una de las razones es que las usa git describe.git: ¿Es una etiqueta no anotada peor que una etiqueta con una mala anotación?

Sin embargo, no veo nada malo en el uso de git describe --tags que también toma las etiquetas no anotadas como punto de referencia. ¿Hay algo más que se considere malo acerca de las etiquetas no anotadas?

Pregunto porque acabo de convertir un proyecto SVN a git. En realidad, estaba pensando en proporcionar las etiquetas con una anotación, pero ¿qué debería haber puesto si no fuera un mensaje "Etiquetado 1.5 para nuestro proyecto" (que ya se había usado como comentario SVN de todos modos)?

Las etiquetas anotadas me parecen agradables (puede etiquetar las cosas como un autor diferente y dar una breve descripción), pero ¿las debería usar incluso en casos en que no tenga nada significativo que decir aparte? del mensaje de compromiso original?

o

¿En qué situaciones son etiquetas no anotadas y no mal visto?

Editar: No estoy hablando de etiquetas con anotaciones firmadas (entiendo la ventaja de tener etiquetas firmadas en algunas situaciones); Solo me preocupa la diferencia entre las anotaciones no anotadas y las no anotadas.

Editar 2: Al añadir otra pregunta para ampliar el alcance un poco y tal vez obtener algunas respuestas interesantes acerca de la vida real mejor-bractices

Al hacer le uso de etiquetas no anotadas y hacer sentir mal cuando lo haces?

+2

Ver http://stackoverflow.com/questions/4971746/why-should-i-care-about-lightweight -vs-annotated-tags – dubek

+0

Posible duplicado de [¿Cuál es la diferencia entre una etiqueta anotada y no anotada?] (https://stackoverflow.com/questions/11514075/what-is-the-difference-between-an-annotated- y tú nannotated-tag) –

Respuesta

4

Una etiqueta anotada es en realidad una etiqueta de objeto. Tiene un autor, una descripción, una marca de tiempo y señala un compromiso.

Una etiqueta liviana apunta a una confirmación y no contiene más información. Tiene más en común con la ramificación que con el etiquetado.

+0

Es cierto. Pero mi pregunta no es qué etiquetas anotadas * son *. Me pregunto si debería usarlos aunque la descripción y el autor sean redundantes. – Debilski

+3

No creo que la descripción y el autor sean redundantes. La persona que etiqueta un lanzamiento no es necesariamente la persona que escribió el código (que tampoco es necesariamente la persona que cometió el código). Nunca he encontrado un buen uso para las etiquetas livianas, yo mismo. – Dustin

3

man git-tag dice:

etiquetas anotadas están destinados para su liberación mientras que las etiquetas ligeros son para etiquetas de objetos privados o temporales.

Así que, básicamente, no empuje las etiquetas de peso ligero.

Cuando se tiene en cuenta esto, todas las opciones de diseño comportamiento tiene sentido:

  • etiquetas anotadas pueden contener un mensaje, creador y fecha diferente que el comprometen que apuntan. Entonces podría usarlos para describir un lanzamiento sin hacer un commit de lanzamiento.

    Las etiquetas livianas no tienen esa información adicional, y no la necesitan, ya que solo la utilizará usted para desarrollarla.

  • git push --follow-tags solo presionarán las etiquetas anotadas, a fin de no publicar las etiquetas locales.

  • git describe responde a la pregunta: "¿a qué versión pertenece esta confirmación?", Que es un caso de uso común.

Consulte también:

Cuestiones relacionadas