一个从网站导出git仓库的工具
项目描述
git-dumper
一个从网站导出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`
示例
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等.);
- 通过分析.git/HEAD、.git/logs/HEAD、.git/config、.git/packed-refs等,尽可能多地找到refs(例如refs/heads/master、refs/remotes/origin/HEAD等.);
- 通过分析.git/packed-refs、.git/index、.git/refs/*和.git/logs/*,尽可能多地找到对象(sha1);
- 递归地获取所有对象,分析每个提交以找到其父级;
- 运行
git checkout .
以恢复当前工作树
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。
源分发
git-dumper-1.0.6.tar.gz (8.2 kB 查看哈希值)
构建分发
git_dumper-1.0.6-py3-none-any.whl (8.6 kB 查看哈希值)
关闭
git-dumper-1.0.6.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0ec8f579cea9d2715a193dda6dffa63ab2609c7d20722d4e404d91a22e4f7c94 |
|
MD5 | c8c3b724e9e8385b0f8cc97a31673dfa |
|
BLAKE2b-256 | dfab26d1e02203cc6f5b88e5245592579ea574cab3d814aa0e14d55f9d414e55 |
关闭
git_dumper-1.0.6-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d06555be795cc3833f945a83e04ad24175b4326f74545205cc25291c01e6b598 |
|
MD5 | 7a021187cf58166f372950037c854fd2 |
|
BLAKE2b-256 | 6e420ae080380158550a5dcf92ca4f3e32f36ed2bb6008da72c5e6691a4ea9e7 |