Cambié de Subversion a Git como mi VCS cotidiano el año pasado y todavía estoy tratando de comprender los puntos más finos de "Git-think".
El que me ha estado molestando últimamente es "ligero" versus etiquetas anotadas versus firmadas. Parece bastante universalmente aceptado que las etiquetas anotadas son superiores a las etiquetas livianas para todos los usos reales, pero las explicaciones que he encontrado de por qué ese es el caso siempre parecen reducirse a "porque las mejores prácticas" o "porque son diferentes". . Desafortunadamente, esos son argumentos muy insatisfactorios sin saber por qué son las mejores prácticas o cómo esas diferencias son relevantes para mi uso de Git.
Cuando cambié a Git por primera vez, las etiquetas livianas parecían ser lo mejor desde el pan rebanado; Podría señalar un commit y decir "eso fue 1.0". Tengo problemas para comprender cómo una etiqueta podría ser más que eso, ¡pero ciertamente no puedo creer que los expertos de Git del mundo prefieran etiquetas anotadas arbitrariamente! Entonces, ¿de qué se trata todo el bullicio?
(Puntos de bonificación: ¿Por qué necesitaría firmar una etiqueta?)
EDITAR
Me he convencido con éxito de que las etiquetas anotadas son algo bueno: ¡saber quién etiquetó y cuándo es importante! Como seguimiento, ¿algún consejo sobre buenas anotaciones de etiquetas? Ambos git tag -am "tagging 1.0" 1.0
e intentando resumir el registro de confirmación ya que la etiqueta anterior parece perder estrategias.
git log --pretty=oneline master..HEAD | git tag -a -F - $BRANCH.$BUILD_NUMBER