首页 > 解决方案 > 如何从静态服务器提供裸 git repos?

问题描述

我正在使用NodeJS-Git-Server,它基本上允许客户端连接到我的服务器并在磁盘上克隆裸 git 存储库。NodeJSGitServer 与客户端的 git 进程建立连接,以确定他们的机器缺少哪些数据包,然后服务器将它们流式传输到客户端。这是标准的git 协议

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

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

标签: node.jsgitservercloudinfrastructure

解决方案


  • nodejs 服务器似乎只处理本地路径上可访问的 repos,

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


您可以尝试在本地挂载远程存储库——例如使用 nfs 或 sshfs。做测试性能虽然。


推荐阅读