从gitweb克隆存储库

时间:2013-11-23 17:29:32

标签: git clone gitweb

我想克隆git://服务器关闭的git存储库。

幸运的是,它的gitweb界面仍在运行,并且可以从那里获得重建git存储库所需的所有数据。

那么,是否有任何git命令或其他工具能够从gitweb克隆git存储库?

(我可以自己写一个机器人,但如果有另一种方式,我不想浪费时间去做)

2 个答案:

答案 0 :(得分:8)

gitweb只是一个perl script (gitweb.perl)

如果enabled in the gitweb.conf,gitweb可以提供“快照”(zip或tag.gz格式),但这不是存储库的完整历史记录:它只是任何树或提交的压缩存档,由git-archive生成。

http://<gitweburl>/gitweb.cgi?p=<repo>.git;a=snapshot;h=HEAD

如果有任何命令,则需要在服务器上执行 例如,您可以要求捆绑(git bundle):

cd /path/to/bare/repo
git bundle create ../repo.bundle --all

这将创建一个文件,您可以sftp回到本地站,并充当git存储库(只读,克隆/拉取,无推送):

cd /path/to/repo.bundle
git clone repo.bundle
cd repo

答案 1 :(得分:1)

您可以尝试使用http://代替git://来抓取回购。

例如,可以使用https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/克隆http://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git的Linux git仓库

尝试用git://http://替换https://,看看是否有诀窍。

逐个文件重建git存储库是可能的,但考虑到存储库仍然存在,它没有多大意义。您可以尝试联系回购所有者并检查他们是否愿意修复回购访问权。

相关问题