
Jack BeNimble
Estoy tratando de averiguar cómo puedo descargar una etiqueta particular de un repositorio de Git: es una versión posterior a la versión actual.
Vi que había una etiqueta para la versión anterior en la página web de git, con el nombre del objeto de un número hexadecimal algo largo.
Pero el nombre de la versión es “Tagged release 1.1.5
“Según el sitio.
Probé un comando como este (con nombres cambiados):
git clone http://git.abc.net/git/abc.git my_abc
Y obtuve algo: un directorio, un montón de subdirectorios, etc.
Si es todo el repositorio, ¿cómo obtengo la versión que busco? Si no, ¿cómo descargo esa versión en particular?

besado
$ git clone
le dará todo el repositorio.
Después de la clonación, puede enumerar las etiquetas con $ git tag -l
y luego verifique una etiqueta específica:
$ git checkout tags/<tag_name>
Aún mejor, pague y cree una rama (de lo contrario, estará en una rama con el nombre del número de revisión de la etiqueta):
$ git checkout tags/<tag_name> -b <branch_name>

Toni
git clone --branch my_abc http://git.abc.net/git/abc.git
Clonará el repositorio y lo dejará en la etiqueta que le interesa.
Documentación para 1.8.0 de clonar estados
–branch también puede tomar etiquetas y separar el HEAD en esa confirmación en el repositorio resultante.

yuan hong
Para verificar solo una etiqueta determinada para la implementación, uso, por ejemplo:
git clone -b 'v2.0' --single-branch --depth 1 https://github.com/git/git.git
Esta parece ser la forma más rápida de verificar el código de un repositorio remoto si uno solo tiene interés en el código más reciente en lugar de en un repositorio completo. De esta forma, se parece al comando ‘svn co’.
Nota: Por el manual de gitpasando el --depth
la bandera implica --single-branch
por defecto.
–profundidad
Cree un clon superficial con un historial truncado al número especificado de confirmaciones. Implica –single-branch a menos que se proporcione –no-single-branch para buscar las historias cerca de las puntas de todas las ramas. Si desea clonar submódulos superficialmente, pase también –shallow-submodules.

brutovogel
No soy un experto en git, pero creo que esto debería funcionar:
git clone http://git.abc.net/git/abc.git
cd abc
git checkout my_abc
O
git clone http://git.abc.net/git/abc.git
cd abc
git checkout -b new_branch my_abc
La segunda variación establece una nueva rama basada en la etiqueta, lo que le permite evitar una ‘CABEZA separada’. (manual de git-checkout)
Cada repositorio de git contiene el historial de revisión completo, por lo que clonar el repositorio le brinda acceso a la última confirmación, además de todo lo que vino antes, incluida la etiqueta que está buscando.

cris j
Puede usar el archivo git para descargar una bola de alquitrán para una etiqueta determinada o una identificación de confirmación:
git archive --format=tar --remote=[hostname]:[path to repo] [tag name] > tagged_version.tar
También puede exportar un archivo zip de una etiqueta.
-
Etiquetas de lista:
git tag
0.0.1
0.1.0
-
Exportar una etiqueta:
git archive -o /tmp/my-repo-0.1.0.zip --prefix=my-repo-0.1.0/ 0.1.0
-
Notas:
- No es necesario especificar el formato. Será recogido por el nombre del archivo de salida.
- Especificar el prefijo hará que su código se exporte a un directorio (si incluye una barra inclinada al final).

llamar la atención
Utilizar el --single-branch
cambiar (disponible a partir de Git 1.7.10). La sintaxis es:
git clone -b <tag_name> --single-branch <repo_url> [<dest_dir>]
Por ejemplo:
git clone -b 'v1.9.5' --single-branch https://github.com/git/git.git git-1.9.5
El beneficio: Git recibirá objetos y (necesitará) resolver deltas solo para la rama/etiqueta especificada, ¡mientras revisa exactamente la misma cantidad de archivos! Dependiendo del repositorio de origen, esto le ahorrará mucho espacio en disco. (Además, será mucho más rápido).
primero busque todas las etiquetas en ese control remoto específico
git fetch <remote> 'refs/tags/*:refs/tags/*'
o simplemente escriba
git fetch <remote>
Luego verifique las etiquetas disponibles
git tag -l
luego cambie a esa etiqueta específica usando el siguiente comando
git checkout tags/<tag_name>
¡Espero que esto te ayude!
Desarrollo en un repositorio completamente diferente al de producción, por lo que mi producción no conocía ninguna etiqueta cuando intenté usar git checkout. La solución fue usar “git pull –tags” y luego usar git checkout.
– Consultor de marketing
19 de noviembre de 2011 a las 9:35
“git fetch –tags” también funciona
– John Erck
26/10/2012 a las 20:37
Para evitar clonar todo el repositorio y luego cambiar a una etiqueta, puede hacer directamente una
clone -b "Tagged release 1.1.5" http://git.abc.net/git/abs.git my_abc
. Esto solo funcionará si no tiene una sucursal con el mismo nombre, por supuesto (dependiendo de su metodología, es posible que esto nunca suceda).– Glifo rojo
5 oct 2013 a las 16:37
@RedGlyph Gracias, lo intentaré. De lo contrario, podemos hacer esto.
git checkout -b new-branch tag-name
. Ahora clone su nueva rama. Cuando queramos podemos borrar la nueva rama.– Kalidasan
19 de diciembre de 2013 a las 7:12