Versiones semánticas: ¿Puedo mover etiquetas de git a una confirmación

Versiones semánticas: ¿Puedo mover etiquetas de git a una confirmación diferente?

Digamos que etiqueté la confirmación A de mi biblioteca con la etiqueta v1.0.0.

Ahora, realizo una corrección menor en la documentación de la API, digamos, corregir un error tipográfico. Confirmo este cambio, por lo que la nueva confirmación B ahora viene justo después de A.

¿Puedo mover la etiqueta v1.0.0 para confirmar B, ya que no hice ningún cambio importante y el código de mi biblioteca es exactamente el mismo que en commit A? /código>?

O, ¿debo incluir cambios tan pequeños en un parche de seguimiento, p. v1.0.1 en su lugar?

Mostrar la mejor respuesta

El punto 3 en SemVer 2.0 lo hace bastante explícito :

Una vez que se ha lanzado un paquete versionado, el contenido de esa versión NO DEBE modificarse. Cualquier modificación DEBE publicarse como una nueva versión.

Tenga en cuenta que SemVer no tiene en cuenta sus herramientas de administración de código fuente, solo el paquete publicado. Si el paquete lanzado ha cambiado, entonces es una nueva versión. Por lo tanto, si su documentación se envía como parte del paquete lanzado, corregirlo es un cambio en el paquete.

En una nota práctica, tan pronto como haya compartido una etiqueta o un lanzamiento etiquetado, las personas que hayan descargado ese lanzamiento pueden hacer suposiciones explícitas, como que un hash SHA de su contenido coincidirá cada vez que lo descarguen, o que un espejo de su repositorio git no tendrá que sobrescribir las etiquetas ya obtenidas.

Por lo general, SemVer trata los números de versión como "baratos": mantener las cosas consistentes y predecibles es más importante que cualquier apego emocional que puedas tener con los números bajos, y un número de versión como "54.23.13" está perfectamente bien.