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
9fceb02
está la parte inicial de la identificación de confirmación?Luego puede empujar la etiqueta usando
git push origin v1.2
.Puede hacer
git log
para 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
-a
y las-m "Message here"
partes si no quieren añadir un mensaje:git tag v1.2 9fceb02
-a
y-m
. La página del manual parece decir que-a
está implícita cuando-m
se usa.git push --tags origin master
empujarí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 tag
comando), no la fecha de la confirmación. La ayuda de Gittag
tiene 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
f4ba1fc
ser el comienzo del hash de la confirmación que desea etiquetar yv1.0.0
ser 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
-m
algo 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 tags
y 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
tag
se establece en la cadena de etiqueta deseada ycommit
en 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