首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从gitweb克隆存储库

从gitweb克隆存储库
EN

Stack Overflow用户
提问于 2013-11-24 01:29:32
回答 2查看 12.8K关注 0票数 20

我想克隆一个git://服务器宕机的git存储库。

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

那么,有没有任何git命令或其他工具可以从gitweb克隆git存储库呢?

(我可以自己写一个机器人,但如果有其他方法的话,我不想浪费时间。)

EN

回答 2

Stack Overflow用户

发布于 2013-11-26 15:37:06

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

Apache调用的

  • (与在this config)
  • which中一样,从其服务器读取bare repos

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

代码语言:javascript
复制
http://<gitweburl>/gitweb.cgi?p=<repo>.git;a=snapshot;h=HEAD

如果有任何命令,则需要在服务器上执行。

例如,您可以请求一个捆绑包(git bundle):

代码语言:javascript
复制
cd /path/to/bare/repo
git bundle create ../repo.bundle --all

这将创建一个文件,您可以通过sftp返回到您的本地工作站,并充当git存储库(只读,仅克隆/拉入,不推送):

代码语言:javascript
复制
cd /path/to/repo.bundle
git clone repo.bundle
cd repo
票数 11
EN

Stack Overflow用户

发布于 2013-11-24 03:08:37

您可以尝试使用http://而不是git://来获取repo。

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

尝试用http://https://替换git://,看看它是否能做到这一点。

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20165541

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档