Somos nuevos en git, y quiero establecer una etiqueta al comienzo de nuestro repositorio. Nuestro código de producción es el mismo que el del repositorio inicial, pero hemos realizado confirmaciones desde entonces. Una etiqueta al principio nos permitiría "revertir" la producción a un estado conocido y estable.
Entonces, ¿cómo agregar una etiqueta a un commit arbitrario y antiguo?
                    
                        git
                                version-control
                                git-tag
                                
                    
                    
                        Hogsolo
fuente
                
                fuente

Respuestas:
Ejemplo:
¿Dónde
9fceb02está la parte inicial de la identificación de confirmación?Luego puede empujar la etiqueta usando
git push origin v1.2.Puede hacer
git logpara mostrar todos los ID de confirmación en su 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 lo que se mostrará en una página de lanzamientos de GitHub, por ejemplo). Si desea que la etiqueta esté fechada con la fecha de confirmación, consulte otra respuesta .
fuente
-ay las-m "Message here"partes si no quieren añadir un mensaje:git tag v1.2 9fceb02-ay-m. La página del manual parece decir que-aestá implícita cuando-mse usa.git push --tags origin masterempujaría todas las etiquetas en la sucursal local a remota. Prefieregit push origin <tag_name>simplemente empujar la etiqueta creada. Consulte: stackoverflow.com/a/5195913/452708 , git-scm.com/book/en/v2/Git-Basics-TaggingSolo el código
Detalles
La respuesta de @dkinzer crea etiquetas cuya fecha es la fecha actual (cuando ejecutó el
git tagcomando), no la fecha de la confirmación. La ayuda de Gittagtiene una sección "Sobre etiquetas de retroceso" que dice:La página "Cómo etiquetar en Git" nos muestra que podemos extraer el tiempo de la confirmación HEAD a través de:
Podríamos extraer la fecha de una confirmación específica a través de:
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:
fuente
La forma más sencilla de hacer esto es:
con
f4ba1fcser el comienzo del hash de la confirmación que desea etiquetar yv1.0.0ser la versión que desea etiquetar.fuente
Usar comando:
Donde v1.0 es el nombre de la etiqueta y ec32d32 es la confirmación que desea etiquetar
Una vez hecho esto, puede presionar las etiquetas de la siguiente manera:
Referencia:
Git (control de revisión): ¿Cómo puedo etiquetar un punto de confirmación previo específico en GitHub?
fuente
OK , simplemente puedes hacer:
Entonces, si desea agregar la etiqueta: 1.0.2 para confirmar
e50f795, simplemente haga lo siguiente:También agrega un mensaje al final, usando
-malgo como esto:Después de todo, debe empujarlo hacia
remote, para hacer eso, simplemente haga:Si tiene muchas etiquetas que no desea mencionar una por una, simplemente haga lo siguiente:
para juntar todas las etiquetas ...
Además, creé los pasos en la imagen a continuación, para obtener más aclaraciones sobre los pasos:
También puede dd la etiqueta en Hub o utilizando herramientas como SourceTree , para evitar los pasos anteriores, inicié sesión en mi Bitbucket en este caso y lo hice desde allí:
No tagsy haga clic en el+icono:fuente
Esta es una vieja pregunta, y las respuestas ya dieron todo el trabajo, pero también hay una nueva opción que se puede considerar.
Si está utilizando SourceTree para administrar sus repositorios git, puede hacer clic derecho en cualquier confirmación y agregarle una etiqueta. Con otro clic del mouse también puede enviar la etiqueta directamente a la rama en origen.
fuente
Sobre la base de las respuestas de los demás, aquí hay una solución de una línea que establece la fecha de la etiqueta a cuando realmente sucedió, usa la etiqueta anotada y no requiere
git checkout:donde
tagse establece en la cadena de etiqueta deseada ycommiten el hash de confirmación.fuente
La respuesta de @Phrogz es genial, pero no funciona en Windows. A continuación, le mostramos cómo etiquetar una confirmación anterior con la fecha original de confirmación mediante Powershell:
fuente