跳转到主要内容

一个从网站导出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 查看哈希值)

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面