Cuando sale una etiqueta, tiene lo que se llama "detached head". Normalmente, la confirmación HEAD de Git es un puntero a la rama que actualmente ha retirado. Sin embargo, si revisa algo que no sea una sucursal local (una etiqueta o una sucursal remota, por ejemplo) tiene una "cabeza separada": no está realmente en ninguna rama. No debe realizar ningún commit mientras está en una cabeza separada.
Está bien revisar una etiqueta si no desea realizar ninguna modificación. Si solo está examinando el contenido de los archivos, o si desea construir su proyecto desde una etiqueta, está bien que git checkout my_tag
y trabaje con los archivos, , siempre y cuando no realice ningún commit. Si desea iniciar la modificación de archivos, debe crear una rama sobre la base de la etiqueta:
$ git checkout -b my_tag_branch my_tag
va a crear una nueva rama llamada my_tag_branch
partir de my_tag
. Es seguro realizar cambios en esta rama.
Sólo el uso de 'git describe' mostraría nombre de la etiqueta si está exactamente en la etiqueta (anotado), o ' - -g ' si no, donde '' es el número de confirmaciones desde ''. –
@Jakub - Gracias. Agregué '--exact-match' a mi respuesta segundos antes de tu comentario. Es bueno saber que puedes eliminarlo y obtener buena información de la entrada difusa. – bstpierre
Gracias, esto era exactamente lo que estaba buscando. Por cierto, incluso git-describe --exact-match (sin --tags) funciona para mí. – grm