Como la mayoría de los visitantes de esta pregunta, me sentí absolutamente frustrado al encontrar una manera de automatizar completamente la descarga de la ÚLTIMA versión versionada o un repositorio en Github. El beneficio de esta solución es que no tiene que especificar ningún número de versión o etiqueta, solo tomará el ÚLTIMO .
Realicé mis pruebas usando el siguiente usuario y repositorio de Github:
" f1linux " = Usuario de Github
" pi-ap " = Repo
El nombre de directorio arbitrario en el que se guarda el repositorio se establece en:
--one-top-level="pi-ap"
DIRECTO:
El uso de Firefox " Web Developer herramientas" (3 bares en la esquina superior derecha), en la " Red de la sección" I Found https://api.github.com
estaba a redirigir a https://codeload.github.com
, por lo que mediante la canalización de la curl
que tar
yo era capaz de agarrar la última cesión temporal versionado y guardarlo en un nombre predecible por lo podría ser operado en:
curl https://codeload.github.com/f1linux/pi-ap/legacy.tar.gz/master | tar xzvf - --one-top-level="pi-ap" --strip-components 1
INDIRECTO:
Después de lograr descargas totalmente automatizadas de la última versión versionada usando una URL DIRECTA , volví mi atención a lograr lo mismo con la redirección de Github:
curl -L https://api.github.com/repos/f1linux/pi-ap/tarball | tar xzvf - --one-top-level="pi-ap" --strip-components 1
Metodo preferido:
Sin embargo, tenga en cuenta según el comentario de Von a continuación que INDIRECTO es el método preferido
Validación adicional:
Para garantizar que mis resultados fueran reproducibles en otros repositorios de Github versionados, se ejecutaron con éxito las mismas pruebas para el doctl
kit de herramientas api de Digital Ocean (que es lo que comenzó todo el ejercicio en realidad):
Tanto DIRECTO y INDIRECTA funcionan con el mismo formulario que el anterior, solo cambiando el nombre de usuario y el repositorio:
DIRECTO:
curl https://codeload.github.com/digitalocean/doctl/legacy.tar.gz/master | tar xzvf - --one-top-level="doctl" --strip-components 1
INDIRECTO:
curl -L https://api.github.com/repos/digitalocean/doctl/tarball | tar xzvf - --one-top-level="doctl" --strip-components 1