¿Cómo etiquetar un commit antiguo en Git?
Somos nuevos en git, y quiero poner una etiqueta al principio de nuestro repositorio. Nuestro código de producción es el mismo que el repositorio inicial, pero hemos hecho commits desde entonces. Una etiqueta al principio nos permitiría "retroceder" la producción a un estado conocido y estable.
Entonces, ¿cómo añadir una etiqueta a un commit arbitrario y antiguo?
866
3
Ejemplo:
Donde
9fceb02
es la parte inicial del id de la confirmación.A continuación, puede empujar la etiqueta con
git push origin v1.2
.Puedes hacer
git log
para mostrar todos los commit id's en tu rama actual.También hay un buen capítulo sobre etiquetado en el libro Pro Git.
Advertencia: Esto crea etiquetas con la fecha actual (y ese valor es el que se mostrará en una página de publicaciones de GitHub, por ejemplo). Si quieres que la etiqueta esté fechada con la fecha de confirmación, por favor mira otra respuesta.
Just the Code
Detalles
La respuesta de @dkinzer crea etiquetas cuya fecha es la fecha actual (cuando se ejecuta el comando
git tag
), no la fecha de la confirmación. La ayuda de Git paratag
tiene una sección _"On Backdating Tags"_ que dice:La página "Cómo etiquetar en Git" nos muestra que podemos extraer la hora del commit HEAD mediante:
Podemos extraer la fecha de un commit específico vía:
Sin embargo, en lugar de repetir el commit dos veces, parece más fácil simplemente cambiar el HEAD a ese commit y usarlo implícitamente en ambos comandos:
La forma más sencilla de hacerlo es
git tag v1.0.0 f4ba1fc
siendo
f4ba1fc
el principio del hash del commit que quieres etiquetar yv1.0.0
la versión que quieres etiquetar.