¿Cómo descargo solo 2 archivos de github usando la línea de comando?
Algo en las líneas de:
git fetch git://github.com/username/Project.git/file1
git fetch git://github.com/username/Project.git/file2
dbrumann
Si va a la página y ve los enlaces proporcionados por “raw” (en la esquina superior izquierda, al ver el archivo). Verás, que puedes acceder a él por:
https://github.com/username/repository/raw/$changeset_hash/path/to/file
En vez de $changeset_hash
también puede proporcionar una rama (por ejemplo, maestra) o una etiqueta.
Puede recuperar el archivo sin formato usando algo como wget.
No es posible acceder a un solo archivo directamente desde un repositorio .git (hasta donde yo sé), debido a cómo se almacenan los datos.
editar: Cuando desee acceder a un archivo desde un repositorio privado, primero debe crear un token de acceso con los permisos apropiados en la configuración de su cuenta. En lugar de llamar a la URL anterior, puede usar API de github para acceder al contenido de un archivo. Asegúrese de utilizar el encabezado Aceptar para tipos de medios personalizados para obtener los datos en bruto. Esto podría parecerse a esto:
curl \
-H 'Authorization: token $YOUR_TOKEN' \
-H 'Accept: application/vnd.github.v3.raw' \
-O \
-L 'https://api.github.com/repos/:owner/:repo/contents/:path'
los -O
guardará el contenido en un archivo local con el mismo nombre que el nombre del archivo remoto. Para un uso más fácil, puede envolverlo en un script. @Chris_Withers sugirió una edición con un buen fragmento de Python que desafortunadamente fue rechazado por ser un gran cambio en la respuesta.
-
Acceder a un solo archivo desde .git es bastante sencillo. git ls-tree branch da una lista de archivos y/o árboles. Luego, git cat-file -p blob-sha imprime el contenido de un archivo.
– William Pursell
6 de febrero de 2012 a las 12:42
-
¿Cómo puedo obtenerlo de un repositorio privado?
– experto
10/10/2014 a las 20:12
-
También quiero algo de un repositorio privado, por lo que primero debo enviar la autenticación. Una solicitud o CURL simple no funcionará debido a problemas de autenticación.
– CtheGood
11/06/2015 a las 19:25
-
Puede crear un token de acceso y agregarlo al encabezado de autenticación de curl-request.
– dbrumann
12 de junio de 2015 a las 8:25
Copie el enlace sin formato del archivo específico de GitHub. (Al abrir el archivo en Github, en la esquina superior derecha puede ver la opción para abrir el archivo en modo sin formato. Ábralo en modo sin formato y copie la URL)
Ahora use el comando curl en la línea de comandos para descargar el archivo.
curl -o filename raw-link-to-file
En la nueva interfaz de usuario (alrededor de junio de 2020), si la URL de su archivo es
https://github.com/StellarCN/scp_zh/blob/master/fonts/SimHei.ttf
después
wget https://github.com/StellarCN/scp_zh/blob/master/fonts/SimHei.ttf?raw=true
vpatil
git checkout
P.ej:
git checkout master~2 file1
(git checkout --help
por ayuda)
colserdav
Necesito obtener un enlace sin formato
curl https://github.com/[user]/[package]/blob/master/package.json
y luego llamar para vincular como
curl https://raw.githubusercontent.com/[user]/[package]/main/package.json
Esto funciona para mi.
Puedes probar github-files-buscadores una herramienta de línea de comandos que descarga una sola carpeta o archivo desde un repositorio de GitHub.
Dado el ejemplo anterior, puede usar el siguiente comando para obtener los dos archivos específicos de github:
fetcher --url="git://github.com/username/Project.git/file1"
fetcher --url="git://github.com/username/Project.git/file2"
Piense en un escenario más real: estaba visitando la siguiente página web y desea descargar el async
subdirectorio solo.
https://github.com/reduxjs/redux/tree/master/ejemplos
Lo siento por no poder publicar imágenes.
Con el github-files-fetcher
primero debe copiar el url
de esa página, que es https://github.com/reduxjs/redux/tree/master/examples/asyncy luego ejecute el siguiente comando en la línea de comando:
fetcher --url=https://github.com/reduxjs/redux/tree/master/examples/async
estoy usando linux aqui me funciono
Paso 1, vaya al archivo que desea descargar y haga clic en el botón sin formato
ingrese la descripción de la imagen aquí
Paso 2 copia la URL de la barra de búsqueda
ingrese la descripción de la imagen aquí
Paso 3 ejecuta el comando en tu terminal
wget paste-url
-
Proporcione una explicación de su respuesta para que el próximo usuario sepa por qué esta solución funcionó para usted. Además, resuma su respuesta en caso de que el enlace deje de funcionar en el futuro.
– Elydasian
21 de julio de 2021 a las 8:38