我正在尝试从路由器连接到 github 上托管的 git 存储库。
路由器有wget但不支持ssl连接; github 只允许通过 ssl 进行 http 下载。无法通过更新路由器固件来使 wget 支持 ssl 连接;或者使用 git 客户端更新路由器。
路由器可以通过 ssh 访问 github。
例如,
ssh [电子邮件受保护] -i git.key git-receive-pack 用户名/repo.git
是否可以使用类似的 ssh 命令下载存储库中的单个文件或主存档?
我能想到的唯一其他替代方案是在远程服务器上设置 Web 代理,以便我可以使用 wget 访问存储库,但这会向进程添加依赖项。
谢谢,
如果您使用
创建克隆git clone --bare ssh://URL/repo.git
您将获得主档案。
理论上,如果
scp
命令处于打开状态(通常不是),您可以使用 scp
进行复制
Git 协议不适用于文件,但适用于历史记录和引用。你可以将选项传递给
git-clone
/git-fetch
,例如--depth 1
和--single-branch
来产生类似的效果,但如果你想直接使用ssh
,你必须自己实现git协议,这将比你尝试做的任何事情都更麻烦。
如果 ssh 的 SOCKS 代理不起作用,那么您必须使用该 HTTP 代理。由于没有解释为什么这样的系统需要从不完全是存储库的存储库中获取任意数据,这听起来很像一个 X-Y 问题,这是问题子集的某个角落,这将有助于评估原因这将有助于解决问题。