2010-11-03 4 views
20

Soy consciente de las diferencias técnicas entre los dos tipos de comando (uso sin -a crea una etiqueta ligera que es esencialmente una rama que nunca se mueve, uso con -a crea un objeto completo en la base de datos de objetos de Git que incluye el nombre del comitente , correo electrónico, etc.).¿En qué circunstancias debo agregar la bandera -a al comando de la etiqueta git?

La pregunta es: ¿cuál debo usar en mis proyectos (para indicar versiones de lanzamiento en Github, por ejemplo)? Y si uno es muy preferido sobre otro, ¿por qué existe la otra opción? ¿Cuáles son los casos de uso para cada versión?

+0

duplicados posibles de [ Por qué debería importarme acerca de las etiquetas ligeras frente a las anotadas?] (https://stackoverflow.com/questions/4971746/why-should-i-care-about-lightweight-vs-annotated-tags) –

Respuesta

8

Yo diría que con el trabajo publicado, siempre debe utilizar etiquetas anotadas. Esa información adicional nunca te hará daño.

Las etiquetas livianas me parecen más para cuando eres perezoso. Tal vez una etiqueta temporal (solo asegúrate de no presionarla accidentalmente, realmente podrías usar una rama), o tal vez un repositorio personal donde no hay mucho uso para la información adicional. Creo que muchos proyectos más pequeños también lo hacen; simplemente no están realmente preocupados con la información. Probablemente solo haya un integrador, nadie se preocupa por verificar las etiquetas firmadas, y solo son marcadores simples de las versiones de lanzamiento. (Todavía creo que deberías preferir las etiquetas anotadas, por las dudas)

Otra forma de pensarlo: las etiquetas livianas son como escribir un mensaje de compromiso realmente malo. Realmente no deberías hacerlo, pero a veces las personas lo hacen, generalmente cuando nadie está mirando.

3

Si desea presionar/buscarlos, entonces debe usar etiquetas anotadas.

3

El estilo más común es usar etiquetas anotadas para etiquetas permanentes, cosas que espera impulsar y que espera que otras personas observen. Las etiquetas ligeras se usan para etiquetas temporales, cosas que no presionarás y que no quieres que otras personas vean.

4

¿Cuáles son los casos de uso para cada versión?

hombre 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.

Y ciertos comportamientos no diferencian entre ellos de manera que esta recomendación es útil por ejemplo .:

  • 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.
  • git push --follow-tags etiquetas sólo se empujará anotados
  • git describe sin opciones de línea de comandos etiquetas sólo ve anotados

Ver también:

Cuestiones relacionadas