
Инструмент для выгрузки git-репозитория с веб-сайта
Инструмент для извлечения git-репозитория с веб-сайта.
Это можно легко установить с помощью 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 show this help message and exit
--proxy PROXY use the specified proxy
-j JOBS, --jobs JOBS number of simultaneous requests
-r RETRY, --retry RETRY
number of request attempts before giving up
-t TIMEOUT, --timeout TIMEOUT
maximum time in seconds before giving up
-u USER_AGENT, --user-agent USER_AGENT
user-agent to use for requests
-H HEADER, --header HEADER
additional http headers, e.g `NAME=VALUE`
--client-cert-p12 CLIENT_CERT_P12
client certificate in PKCS#12 format
--client-cert-p12-password CLIENT_CERT_P12_PASSWORD
password for the client certificate
-b BRANCH, --branch BRANCH
additional branch name to check for (repeatable)
git-dumper http://website.com/.git ~/website
Используйте это программное обеспечение на свой страх и риск!
Вы должны знать, что если репозиторий, который вы загружаете, контролируется злоумышленником, это может привести к удаленному выполнению кода на вашем компьютере.
Просто установите зависимости с помощью pip:
pip install -r requirements.txt
Затем просто используйте:
./git_dumper.py http://website.com/.git ~/website
Инструмент сначала проверяет, доступен ли список каталогов. Если да, то он просто рекурсивно загружает каталог .git (то, что вы бы сделали с помощью wget).
Если список каталогов недоступен, он использует несколько методов, чтобы найти как можно больше файлов. Шаг за шагом git-dumper будет:
.gitignore, .git/HEAD, .git/index и т.д.);refs/heads/master, refs/remotes/origin/HEAD и т.д.) путем анализа .git/HEAD, .git/logs/HEAD, .git/config, .git/packed-refs и так далее;.git/packed-refs, .git/index, .git/refs/* и .git/logs/*;git checkout ., чтобы восстановить текущее рабочее дерево