En una máquina de producción, quiero consultar un archivo específico en una revisión específica de GitHub para facilitar la migración de la base de datos. No quiero registrar (o incluso clonar) todo el repositorio de código fuente (porque este es mi entorno de producción). ¿Cómo puedo extraer solo el archivo que estoy buscando?¿Cómo puedo ver un solo archivo de GitHub sin clonar todo el repositorio?
Respuesta
Por lo que puedo decir, la descarga de un solo archivo desde un repositorio git servido en http
es actualmente imposible. Creo que GitHub tiene una función de "descarga" separada que quieren que la gente use en su lugar (pero no sé si será compatible con la descarga de un solo archivo).
La solución alternativa es clonar todo el repositorio (!) Y luego extraer el archivo de su interés. Aquí está una función fiesta de la que hace el trabajo:
git-cat() {
if [ -z "$1" -o -z "$2" ]; then
echo "Usage: git-cat REPO_URL FILE [BRANCH]"
exit 1
fi
tmprepo=`mktemp -d -t gitrepo.XXXXXX`
reponame=$1
filename=$2
branchname=$3
if [ -z "$branchname" ]; then
branchname="master"
fi
git clone -nq $reponame $tmprepo &&
git --git-dir $tmprepo/.git show ${branchname}:${filename} &&
rm -rf $tmprepo
}
hago esto por columnas vertebrales como tal
curl -O https://raw.github.com/documentcloud/backbone/master/backbone-min.js
Mi solución es como en el primer mensaje. Pero trato de explicar un poco más. Hay un botón "Raw" en GitHub para cada archivo: se mostrará solo el texto en el navegador. Además, puedes usar esa url.
Por ejemplo, he repo https://github.com/MasterSergius/conf_files.git y quiero conseguir mi archivo .vimrc, por lo que aquí el enlace a mi archivo: https://raw.githubusercontent.com/MasterSergius/conf_files/master/.vimrc Creo, que por esta plantilla incluso se puede adivinar por url archivo de recompra y archivo ruta completa. Por lo tanto, ahora puedo descargarlo con curl:
curl https://raw.githubusercontent.com/MasterSergius/conf_files/master/.vimrc -o ~/.vimrc
- 1. Al clonar un repositorio svn en git, ¿debería clonar solo trunk o todo el repositorio?
- 2. Enviar solo un archivo a GitHub desde un repositorio local
- 3. ¿Cómo "mirar" solo un directorio en un repositorio de GitHub?
- 4. ¿qué significa esto clonar el repositorio de GitHub?
- 5. ¿Enviar el parche al proyecto de Github sin clonar el depósito en Github?
- 6. Git log sin clonar el repositorio?
- 7. HG: ¿Actualizar un directorio a una revisión específica sin clonar todo el repositorio?
- 8. PHP: ¿Cómo puedo tomar un solo archivo de un directorio sin escanear todo el directorio?
- 9. Clonación de un repositorio privado de Github
- 10. ¿Cómo puedo clonar una subcarpeta de un repositorio en Mercurial?
- 11. ¿Cómo puedo clonar un proyecto github para ejecutarlo localmente?
- 12. Clonar solo una rama
- 13. Github: acceso de solo lectura a un repositorio privado
- 14. Cómo clonar selectivamente un repositorio git
- 15. ¿Cómo clonar solo una carpeta de un submódulo git?
- 16. ¿Cómo ver el historial de tamaño de archivo de un solo archivo en un repositorio de git?
- 17. Git: ¿Solo inserta el archivo de configuración privada para probar el repositorio y no a github?
- 18. ¿Cómo puedo dar acceso a un repositorio privado de GitHub?
- 19. ¿cómo público es un repositorio público github?
- 20. ¿Cómo puedo clonar un repositorio y conservar las marcas de tiempo del archivo?
- 21. En GitHub, ¿puedo bifurcar solo una wiki?
- 22. ¿Puedo verificar github wikis como un repositorio de git?
- 23. clonar un repositorio git (en profundidad)
- 24. Git - Bifurcando sin Github
- 25. Jenkins dando error al clonar desde gitHub
- 26. ¿Cómo puedo codificar contra un repositorio github en 2 computadoras?
- 27. ¿Cómo puedo ver un archivo comprimido contenido
- 28. ¿Cómo puedo leer/transmitir un archivo sin cargar todo el archivo en la memoria?
- 29. Solución de GitHub para el repositorio personal
- 30. ¿Cómo agrego todo mi proyecto en GitHub?
ya resuelto segura: http://stackoverflow.com/questions/610208/how-to-retrieve-a-single-file-from-specific -revision-en-git http://stackoverflow.com/questions/692246/how-do-i-revert-one-file-to-the-last-commit-in-git http://stackoverflow.com/questions/6580641/how-to-checkout-a-single-file-in-git http://stackoverflow.com/questions/1125476/git-retrieve-a-single-file-from-a-repository – fuzzyalej
All de los anteriores son en su mayoría irrelevantes, excepto http://stackoverflow.com/questions/1125476/git-retrieve-a-single-file-from-a-repository, pero desafortunadamente no se puede usar '' --remote = '' con GitHub (http://groups.google.com/group/github/browse_thread/thread/cfcbcb1dc5f41f16). –