如何从静态服务器提供裸git仓库?

时间:2019-04-04 06:33:58

标签: node.js git server cloud infrastructure

我正在使用NodeJS-Git-Server,它实际上允许客户端连接到我的服务器,并在磁盘上克隆裸git存储库。 NodeJSGitServer与客户端的git进程创建连接,以建立其计算机上丢失的数据包,然后服务器将其流式传输到客户端。这是标准的git protocol

NodeJSGitServer生成运行git-upload-packgit-receive-pack的子进程,然后将其通过管道传递给客户端的响应。

这些git命令接受本地git仓库路径的参数。因此,似乎我需要将所有裸git存储库托管在运行这些git命令的同一台服务器上,以与客户端进行通信。有什么办法可以将这些裸git repos托管在与我的节点服务器不同的服务器上,例如S3存储桶。我计划使用Heroku,并且它们的存储是短暂且有限的。

1 个答案:

答案 0 :(得分:1)

  • nodejs服务器似乎仅处理本地路径上可访问的存储库,

  • AFAIK,git-upload-packgit-receive-pack旨在在托管存储库的系统上运行


您可以尝试在本地挂载远程存储库,例如使用nfs或sshfs。不过要测试一下性能。