remove - Descargar archivos individuales de GitHub
git tags best practices (26)
- En el lado derecho, justo debajo de "Clonar en el escritorio", dice "Descargar archivo zip"
- Descargar archivo zip
- Extraer el archivo
Supongo que la mayoría de ustedes, desarrolladores, usan cualquier VCS , y espero que algunos de ustedes usen Git. ¿Tiene alguna sugerencia o truco sobre cómo obtener una URL de descarga para un solo archivo en un repositorio?
No quiero la URL para mostrar el archivo en bruto; En caso de binarios es para nada.
http://support.github.com/discussions/feature-requests/41-download-single-file
¿Es posible usar GitHub como un "servidor de descarga"?
Si decidimos cambiar a Google Code, ¿se presenta aquí la funcionalidad mencionada?
¿O hay algún hosting gratuito y VCS para proyectos de código abierto?
- Ve al archivo que quieres descargar.
- Haga clic para ver el contenido dentro de la interfaz de usuario de GitHub.
- En la parte superior derecha, haga clic derecho en el botón Sin
Raw
. - Guardar como...
La página que has enlazado responde a la primera pregunta.
GitHub también tiene una facilidad de descarga para cosas como lanzamientos.
Google Code no tiene Git en absoluto.
GitHub, Google Code y SourceForge , solo para comenzar, son hosting gratuito. SourceForge todavía podría hacer CVS .
Ahora es posible descargar cualquier archivo o carpeta en particular dentro del repositorio usando esta extensión de google chrome:
GitZip para github: enlace: https://chrome.google.com/webstore/detail/gitzip-for-github/ffabmkklhbepgcgfonabamgnfafbdlkn
Uso:
- En cualquier página pública de repositorios de GitHub.
- Simplemente haga doble clic en los elementos que necesita.
- Haga clic en el botón de descarga en la parte inferior derecha.
- Ver el panel de progreso y esperar la descarga del desencadenador del navegador.
- Obtener el archivo ZIP.
De acuerdo con esta idea , puedes usar wget o cURL:
- Haga clic en el nombre del archivo en un repositorio de GitHub.
- Haga clic en Raw para mostrar el contenido del archivo.
- Copia la URL en tu navegador.
- En la línea de comando, ejecute:
-
wget --no-check-certificate --content-disposition https://URL-from-step3/
-
curl -LJO https://URL-from-step3/
-
En caso de que quieras descargar un archivo zip desde github
usando wget
wget -O filename.zip https://github.com/downloads/user/repository/filename.zip?raw=true
ver este website para más detalles
En lugar de un enlace para descargar un archivo específico dentro del repositorio, debe usar la función de lanzamientos de GitHub para asociar los datos descargables (como los binarios compilados) con la versión etiquetada del código fuente utilizado para generar esos datos.
https://github.com/blog/1547-release-your-software
Nos complace anunciar Lanzamientos, un flujo de trabajo para enviar software a los usuarios finales. Los lanzamientos son objetos de primera clase con registros de cambios y activos binarios que presentan un historial completo del proyecto más allá de los artefactos de Git.
Los lanzamientos van acompañados de notas de lanzamiento y enlaces para descargar el software o el código fuente.
Siguiendo las convenciones de muchos proyectos de Git, las versiones están vinculadas a las etiquetas de Git. Puede usar una etiqueta existente o dejar que los lanzamientos creen la etiqueta cuando se publique.
Este método funciona para Windows ya que nunca he usado MAC, así que no sé cuáles son las teclas alternativas en MAC para las teclas que voy a mencionar a continuación.
Vamos a hablar de los archivos CSV. SI quieres descargar el archivo CSV:
- Vaya a ese conjunto de datos en particular que desea descargar y haga clic en él.
- Verá el botón "Sin procesar" en la parte superior derecha del conjunto de datos.
- Presiona "Alt" y luego haz clic izquierdo en el botón "Raw".
- Todo el CSV se descargará en tu sistema.
Recuerda, debes presionar Alt y hacer clic izquierdo simultáneamente. Al hacer clic en el botón "Sin procesar" se abrirá el CSV en el navegador.
Espero que eso ayude.
Esto ahora es posible en GitHub para cualquier archivo. Necesitas traducir tus archivos para raw.github.com. Por ejemplo, si su archivo está en su repositorio en:
https://github.com/<username>/<repo>/some_directory/file.rb
Usando wget puedes agarrar el archivo en bruto desde:
https://raw.github.com/<username>/<repo>/<branch>/some_directory/file.rb
Rails Composer es un gran ejemplo de esto.
Esto definitivamente funcionaría. Al menos en Chrome. Haga clic derecho en el icono "Raw" -> Guardar enlace como .
Esto es lo que funcionó para mí ahora ...
Abra el archivo en bruto en una pestaña separada.
Copie todo en su bloc de notas en un nuevo archivo.
Guarda el archivo en la extensión que tenía originalmente
... trabajé para el archivo .php I DL ahora mismo.
Git no admite la descarga de partes del repositorio. Tienes que descargarlo todo. Pero deberías poder hacer esto con GitHub.
Cuando ve un archivo, tiene un enlace a la versión "en bruto". La URL está construida como tal
https://github.com/user/repository/raw/branch/filename
Al completar los espacios en blanco en la URL, puede usar Wget o cURL (con la opción -L
, vea a continuación) o lo que sea para descargar un solo archivo. De nuevo, no obtendrás ninguna de las características de control de versión que usa Git haciendo esto.
Actualización: Noté que mencionaste que esto no funciona para archivos binarios. Probablemente no debería usar archivos binarios en su repositorio Git, pero GitHub tiene una sección de descargas para cada repositorio que puede usar para cargar archivos. Si necesita más de un binario, puede usar un archivo .zip. La URL para descargar un archivo cargado es:
https://github.com/downloads/user/repository/filename
Tenga en cuenta que las URL proporcionadas anteriormente, desde los enlaces en github.com
, redirigirán a raw.githubusercontent.com
. No debe usar directamente la URL proporcionada por este redireccionamiento HTTP 302 porque, de acuerdo con RFC 2616 : "Dado que la redirección podría modificarse en alguna ocasión, el cliente DEBERÍA seguir utilizando el URI de solicitud para futuras solicitudes".
Hay una extensión de chrome llamada Github mejorado
Agregará un botón de descarga directamente a la derecha de cada archivo.
O prueba esto
const https = require(''https'');
const fs = require(''fs'');
const DOMAIN = ''raw.githubusercontent.com'';
function writeFile(data, fileName) {
fs.appendFile(fileName, data.toString(), err => {
if (err) {
console.log(''error in writing file'', err);
}
});
}
function EOF(data) {
console.log(''EOF'');
}
function getFileName(pathToFile) {
var result = pathToFile.split(''/'');
var splitLength = result.length;
return result[splitLength - 1];
}
function getFile(branchName, username, repoName, ...pathToFile) {
pathToFile.forEach(item => {
const path = `/${username}/${repoName}/${branchName}/${item}`;
const URL = `${DOMAIN}${path}`;
const options = {
hostname: DOMAIN,
path: path
};
var fileName = getFileName(item);
https
.get(options, function(res) {
console.log(res.statusCode);
/* if file not found */
if (res.statusCode === 404) {
console.log(''FILE NOT FOUND'');
} else {
/* if file found */
res.on(''data'', data => writeFile(data, fileName));
res.on(''end'', data => EOF(data));
}
})
.on(''error'', function(res) {
console.log(''error in reading URL'');
});
});
}
getFile(''master'', ''bansalAyush'', ''InstagramClone'', ''.babelrc'', ''README.md'');
Para descargar un archivo de un repositorio de Github, use el comando ''curl'' con el enlace al archivo en bruto.
curl https://raw.githubusercontent.com/user/repo/filename --output filename
Agregue la opción --output seguida del nuevo nombre de archivo para descargar el archivo en bruto al archivo recién creado.
Para los usuarios con GitHub Enterprise, debe construir la URL en el siguiente esquema
Invoke-WebRequest http://github.mycompany.com/api/v3/repos/my-org/my-repo/contents/myfiles/file.txt -Headers @{"Authorization"="token 8d795936d2c1b2806587719b9b6456bd16549ad8"}
Detalles pueden ser encontrados aqui
http://artisticcheese.blogspot.com/2017/04/how-to-download-individual-files-from.html
Para seguir con lo que dijo thomasfuchs, pero para los usuarios de GitHub Enterprise, esto es lo que puede usar.
curl -H ''Authorization: token INSERTACCESSTOKENHERE'' -H ''Accept: application/vnd.github.v3.raw'' -O -L https://your_domain/api/v3/repos/owner/repo/contents/path
También aquí está la documentación de la API https://developer.github.com/v3/repos/contents
Puede probar github-files-fetcher , es una herramienta de línea de comandos que descarga una sola carpeta o archivo desde un repositorio de GitHub.
Piense en un escenario real: estaba visitando la siguiente página web y desea descargar el subdirectorio async
solo.
https://github.com/reduxjs/redux/tree/master/examples
Lo siento por no tener permiso para publicar imágenes.
Con github-files-fetcher
, primero debe copiar la url
de esa página, que es https://github.com/reduxjs/redux/tree/master/examples/async , y luego ejecutar el siguiente comando en la línea de comando:
fetcher --url=https://github.com/reduxjs/redux/tree/master/examples/async
Puede utilizar la API V3 para obtener un archivo sin formato como este (necesitará un token OAuth):
curl -H ''Authorization: token INSERTACCESSTOKENHERE'' -H ''Accept: application/vnd.github.v3.raw'' -O -L https://api.github.com/repos/owner/repo/contents/path
Todo esto tiene que ir en una línea. La opción -O
guarda el archivo en el directorio actual. Puede usar -o filename
para especificar un nombre de archivo diferente.
Para obtener el token de OAuth, siga las instrucciones aquí: https://help.github.com/articles/creating-an-access-token-for-command-line-use
También he escrito esto como una esencia: https://gist.github.com/madrobby/9476733
Puedes usar curl
esta manera:
curl -OL https://raw.githubusercontent.com/<username>/<repo-name>/<branch-name>/path/to/file
O
significa que rizo descarga el contenido.
L
significa que el rizo sigue la redirección.
Recientemente encontré un servicio llamado gitzip
y su código abierto también:
sitio - http://kinolien.github.io/gitzip/
repo - https://github.com/KinoLien/gitzip
Visite el sitio anterior, ingrese el repositorio o la URL del directorio, puede descargar archivos individuales o el directorio completo como un archivo zip.
Si usas curl y firefox ... podrías usar el complemento cliget que genera una llamada de curl que incluye todos los mecanismos de autenticación (también conocidas como cookies).
Así que haga clic derecho en el botón de botón crudo -> "copiar url para el enlace" y luego péguelo en un shell. Obtendrá su archivo incluso si tuvo que iniciar sesión para verlo.
Solo debes hacerlo con la URL en raw
de tu archivo.
Por ejemplo para descargar el archivo README de AFNetworking:
curl https://raw.githubusercontent.com/AFNetworking/AFNetworking/master/README.md > ADREADME.md
Como se trata de un repositorio público, no necesita ninguna credencial. Tenga en cuenta el tipo de url: raw.githubusercontent.com/path/to/file
Utilicé el siguiente formato y creo que es importante informar sobre el camino.
https://github.com/user/repository/raw/branch/filename
^^^ Lo anterior no es muy completo en mi mente.
https://github.com/<user>/<repoROOTname>/blob/master/<path>/<filename>?raw=true
algunos dijeron raw.github.com o raw en lugar de blob, pero la segunda línea funciona para mí y espero que ayude a otros ...
2 ¢
GitHub Mate hace que la descarga de un solo archivo sea sencilla, simplemente haga clic en el icono para descargar, actualmente solo funciona en Chrome.