公共 Git 访问有两个选项:
Git 协议,由git 守护进程处理:
git daemon --base-path /srv/git
Run Code Online (Sandbox Code Playgroud)
如果您在 example.com上运行git daemon--base-path /srv/git,那么如果您稍后尝试拉取git://example.com/hello.git,git daemon会将路径解释为/srv/git/hello.git。
对于多个“虚拟主机”,--interpolated-path /srv/git/%H/%D会将其映射到/srv/git/example.com/hello.git.
该选项提供了类似于--user-path“userdir”的翻译。git://example.com/~user/hello.git/home/user/hello.git
您可以从 xinetd运行git 守护进程 ,或使用选项 ( )作为后台守护进程。--detachsudo -u nobody git daemon --detach <other options>
智能 HTTP,需要 Web 服务器:Pro Git 上的说明
设置起来有点复杂,但更容易跨越代理和防火墙(这在某些环境中可能是一个优势)。
也可以通过 HTTP 进行推送 – 确保您不会意外启用它。