我想知道是否可以配置 gitolite 以让任何人都可以克隆存储库,而无需执行整个公钥操作。
显然,我不希望人们能够在没有密钥的情况下更改 repo。
答案1
公共 Git 访问有两种选择:
Git 协议,由git 守护进程:
git daemon --base-path /srv/git
如果你跑git 守护进程使用
--base-path /srv/git
example.com,那么如果你稍后尝试拉取git://example.com/hello.git
,git 守护进程将会把路径解释为/srv/git/hello.git
。对于多个“vhosts”,
--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
你可以运行git 守护进程 来自 xinetd
--detach
或者使用选项 ( )作为后台守护进程sudo -u nobody git daemon --detach <other options>
。智能HTTP,它需要一个 Web 服务器:Pro Git 上的说明
这个设置起来有点复杂,但更容易跨越代理和防火墙(在某些环境中可能是一个优势)。
也可以通过 HTTP 进行推送 – 确保您不会意外启用该功能。