Si vas a la página y ver los enlaces proporcionados por la "cruda" (en la esquina superior izquierda, al ver el archivo). Verá, que se puede acceder a él a través de:
https://github.com/username/repository/raw/$changeset_hash/path/to/file
En lugar de $changeset_hash
también puede proporcionar una rama (por ejemplo maestro) o etiqueta.
Puede recuperar el archivo sin procesar usando algo como wget.
El acceso a un único archivo directamente desde un .git-repository no es posible (hasta donde yo sé), debido a cómo se almacenan los datos.
edición: Cuando desee acceder a un archivo de un repositorio privado, primero deberá crear un token de acceso con los permisos adecuados en la configuración de su cuenta. En lugar de llamar a la url de arriba, puede usar github's API to access the content of a file. Asegúrese de usar el encabezado Aceptar para custom media types para obtener los datos brutos. Esto podría ser algo como 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'
El -O
ahorrará 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 una secuencia de comandos. @Chris_Withers sugirió una edición con un buen fragmento de python que desafortunadamente fue rechazado por un gran cambio en la respuesta.
'changeset_hash' también puede ser el nombre de una sucursal. –
Acceder a un solo archivo desde .git es bastante sencillo. git ls-tree branch da una lista de los archivos y/o árboles. Luego, git cat-file -p blob-sha imprime el contenido de un archivo. –
¿Cómo puedo obtenerlo de un repositorio privado? – expert