
Una herramienta para volcar un repositorio git de un sitio web
Una herramienta para volcar un repositorio git de un sitio web.
Se puede instalar fácilmente con pip:
pip install git-dumper
usage: git-dumper [options] URL DIR
Dump a git repository from a website.
positional arguments:
URL url
DIR output directory
optional arguments:
-h, --help muestra este mensaje de ayuda y sale
--proxy PROXY usa el proxy especificado
-j JOBS, --jobs JOBS número de solicitudes simultáneas
-r RETRY, --retry RETRY
número de intentos de solicitud antes de rendirse
-t TIMEOUT, --timeout TIMEOUT
tiempo máximo en segundos antes de rendirse
-u USER_AGENT, --user-agent USER_AGENT
user-agent a usar para las solicitudes
-H HEADER, --header HEADER
cabeceras http adicionales, ej. `NAME=VALUE`
--client-cert-p12 CLIENT_CERT_P12
certificado de cliente en formato PKCS#12
--client-cert-p12-password CLIENT_CERT_P12_PASSWORD
contraseña para el certificado de cliente
-b BRANCH, --branch BRANCH
nombre de rama adicional para comprobar (repetible)
git-dumper http://website.com/.git ~/website
¡Usa este software bajo tu propio riesgo!
Debes saber que si el repositorio que estás descargando está controlado por un atacante, esto podría provocar la ejecución remota de código en tu máquina.
Simplemente instala las dependencias con pip:
pip install -r requirements.txt
Luego, simplemente usa:
./git_dumper.py http://website.com/.git ~/website
La herramienta primero comprobará si el listado de directorios está disponible. Si es así, simplemente descargará recursivamente el directorio .git (lo que harías con wget).
Si el listado de directorios no está disponible, usará varios métodos para encontrar tantos archivos como sea posible. Paso a paso, git-dumper:
.gitignore, .git/HEAD, .git/index, etc.);refs/heads/master, refs/remotes/origin/HEAD, etc.) analizando .git/HEAD, .git/logs/HEAD, .git/config, .git/packed-refs y así sucesivamente;.git/packed-refs, .git/index, .git/refs/* y .git/logs/*;git checkout .