0

我正在尝试从路由器连接到托管在 github 上的 git 存储库。

路由器有 wget 但不支持 ssl 连接;github 只允许通过 ssl 进行 http 下载。更新路由器的固件以使 wget 支持 ssl 连接不是一个选项;或使用 git 客户端更新路由器。

然而,路由器可以通过 ssh 访问 github。

例如,

ssh git@github.com -i git.key git-receive-pack 用户名/repo.git

是否可以使用类似的 ssh 命令下载存储库中的单个文件或主存档?

我能想到的唯一另一种选择是在我的远程服务器上设置一个 Web 代理,这样我就可以使用 wget 访问存储库,但这会给进程添加一个依赖项。

谢谢,

4

2 回答 2

0

Git 协议不适用于文件,而是历史和引用。您可以将选项传递给git-clone/和以产生类似的效果,但是如果您想直接使用git-fetchgit协议,则必须自己实现 git 协议,这比您尝试做的任何其他事情都更麻烦。--depth 1--single-branchssh

如果 ssh 的 SOCKS 代理不起作用,那么您将不得不使用该 HTTP 代理。没有解释为什么这样的系统需要从不完全是 repo 的存储库中获取任意数据,这听起来很像 XY 问题,这是问题子集的某个角落,它有助于评估原因这将有助于解决问题。

于 2013-09-25T07:58:16.513 回答
0

如果您使用创建克隆

git clone --bare ssh://URL/repo.git你得到主档案。

理论上,如果scp命令处于打开状态(通常不是),您可以使用scp

于 2013-09-24T16:33:24.253 回答