我在Debian系统上设置了一个git服务器,并安装了gitlist来查看存储库。所有这些都很好,我可以看到我的存储库,克隆并将它们推到HTTP上。
我的问题是,推送存储库的URL与gitlist URL不一样。现在,我可以通过http://<IP>/gitlist/和类似于http://<IP>/gitlist/example.git的存储库访问gitlist。
当我想克隆/拉/推它们时,我必须使用http://<IP>/git/example.git (在apache中配置)
SetEnv GIT_PROJECT_ROOT /home/git/repositories
SetEnv GIT_HTTP_EXPORT_ALL
ScriptAlias /git /usr/lib/git-core/git-http-backend但是我已经看到系统运行gitlist,您可以简单地从浏览器复制URL并将其用于git。
因此,我的问题是,如何设置apache和gitlist,以便使用来自浏览器的URL来克隆存储库等等。(git clone http://<IP>/gitlist/example.git)
发布于 2013-12-26 01:18:28
您必须更改apache配置。
重写未触及gitlist的ScriptAlias,但git命令可以访问所需的数据(如info/refs)。
下面是我的git.conf (在/etc/apache/conf.d.d/中的debian下面):
SetEnv GIT_PROJECT_ROOT /home/git/repositories
SetEnv GIT_HTTP_EXPORT_ALL
ScriptAliasMatch /gitlist/(.*/(HEAD|info/refs|objects/(info/[^/]+|[0-9a-f]{2}/[0-9a-f]{38}|pack/pack-[0-9a-f]{40}\.(pack|idx))|git-(upload|receive)-pack)) /usr/lib/git-core/git-http-backend/$1(注意:您不是使用ScriptAlias,而是使用ScriptAliasMatch来使用regex)
https://stackoverflow.com/questions/20777865
复制相似问题