tener tag sirve remove qué proyecto podemos para oneline nuestros nos mayor log herramienta hacer hace cuando creamos control git version-control git-tag

tag - ¿qué hace git log-oneline?



¿Cómo etiquetar un commit anterior en Git? (7)

Solo el codigo

# Set the HEAD to the old commit that we want to tag git checkout 9fceb02 # temporarily set the date to the date of the HEAD commit, and add the tag GIT_COMMITTER_DATE="$(git show --format=%aD | head -1)" / git tag -a v1.2 -m"v1.2" # set HEAD back to whatever you want it to be git checkout master

Detalles

La respuesta de @dkinzer crea etiquetas cuya fecha es la fecha actual (cuando ejecutó el comando git tag ), no la fecha de la confirmación. La ayuda de Git para la tag tiene una sección "En etiquetas de retroactividad" que dice:

Si ha importado algunos cambios de otro VCS y desea agregar etiquetas para las versiones principales de su trabajo, es útil poder especificar la fecha para incrustar dentro del objeto de etiqueta; tales datos en el objeto de etiqueta afectan, por ejemplo, el orden de las etiquetas en la interfaz de gitweb.

Para establecer la fecha utilizada en los objetos de etiqueta futuros, establezca la variable de entorno GIT_COMMITTER_DATE (consulte la discusión posterior de los posibles valores; la forma más común es "YYYY-MM-DD HH: MM").

Por ejemplo:

$ GIT_COMMITTER_DATE="2006-10-02 10:31" git tag -s v1.0.1

La página "Cómo etiquetar en Git" nos muestra que podemos extraer el tiempo de confirmación de HEAD mediante:

git show --format=%aD | head -1 #=> Wed, 12 Feb 2014 12:36:47 -0700

Podríamos extraer la fecha de un compromiso específico a través de:

GIT_COMMITTER_DATE="$(git show 9fceb02 --format=%aD | head -1)" / git tag -a v1.2 9fceb02 -m "v1.2"

Sin embargo, en lugar de repetir la confirmación dos veces, parece más fácil cambiar la CABEZA a esa confirmación y usarla implícitamente en ambos comandos:

git checkout 9fceb02 GIT_COMMITTER_DATE="$(git show --format=%aD | head -1)" git tag -a v1.2 -m "v1.2"

Somos nuevos en git y quiero establecer una etiqueta al principio de nuestro repositorio. Nuestro código de producción es el mismo que el repositorio inicial, pero desde entonces hemos realizado confirmaciones. Una etiqueta al principio nos permitiría "revertir" la producción a un estado estable y conocido.

Entonces, ¿cómo agregar una etiqueta a un compromiso antiguo y arbitrario?


Ejemplo:

git tag -a v1.2 9fceb02 -m "Message here"

Donde 9fceb02 es la parte inicial del ID de confirmación.

Luego puede empujarlos hacia arriba usando git push --tags origin master

Puede hacer git log para mostrar todos los ID de confirmación en su rama actual.

También hay un buen capítulo sobre el tagging 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 publicaciones de github, por ejemplo). Si desea que la etiqueta esté fechada con la fecha de confirmación, consulte otra respuesta .


Esta es una pregunta antigua, y las respuestas ya dieron todo el trabajo, pero también hay una nueva opción que puede ser considerada.

Si está utilizando SourceTree para administrar sus repositorios git, puede hacer clic derecho en cualquier confirmación y agregarle una etiqueta. Con otro clic, también puede enviar la etiqueta directamente a la sucursal en el origen.


La forma más sencilla de hacer esto es

git tag v1.0.0 f4ba1fc

siendo f4ba1fc el comienzo del hash de la confirmación que desea etiquetar y v1.0.0 es la versión que desea etiquetar.


Sobre la base de las respuestas de los demás, esta es una solución de una sola línea que establece la fecha de la etiqueta en el momento en que realmente sucedió, utiliza la etiqueta anotada y no requiere git checkout :

tag="v0.1.3" commit="8f33a878" bash -c ''GIT_COMMITTER_DATE="$(git show --format=%aD $commit)" git tag -a $tag -m $tag $commit'' git push --tags origin master

donde la tag se establece en la cadena de etiqueta deseada, y commit el hash de confirmación.



OK , simplemente puedes hacer:

git tag -a <tag> <commit-hash>

Entonces, si desea agregar la etiqueta: 1.0.2 para confirmar el e50f795 , simplemente haga lo siguiente:

git tag -a 1.0.2 e50f795

También agrega un mensaje al final, utilizando -m , algo como esto:

git tag -a 1.0.2 e50f795 -m "my message"

Después de todo, necesita empujarlo hacia el remote , para hacer eso, simplemente haga:

git push origin 1.0.2

Si tiene muchas etiquetas que no quiere mencionar una por una, simplemente haga lo siguiente:

git push origin --tags

para juntar todas las etiquetas ...

Además, creé los pasos en la imagen a continuación, para una mayor aclaración de los pasos:

También puede dd la etiqueta en Hub o usar herramientas como SourceTree , para evitar los pasos anteriores, inicié sesión en mi Bitbucket en este caso y lo hago desde allí:

  1. Vaya a su sucursal y encuentre la confirmación a la que desea agregar la etiqueta y haga clic en ella:

  1. En la página de confirmación , a la derecha, busque donde dice No tags y haga clic en el icono + :

  1. En el cuadro de nombre de etiqueta, agregue su etiqueta:

  1. Ahora ves que la etiqueta se ha creado con éxito: