我目前正在为我的私人项目托管自己的 git-repos。为此,我使用 Apache 和标准 githttp-后端。
现在,可以通过如下 URL 访问 repo:
http://vcs.myserver.lc/git/Repo.git
使用此 URL,我可以使用以下方式推送、获取和克隆到/从此存储库git。但是,在浏览器中打开此 URL 只会显示一个空白页,现在我正在寻找避免这种情况的方法。
相反,我希望 Apache 显示一个包含一些信息的页面,例如:
这不是一个网页,这是一个 git-repo。您可以使用以下方式克隆此 repo
git clone [URL]
...
如果可以将其替换为当前 URL(例如使用 PHP)那就太好了[URL]
,但是纯 HTML 也可以。
我知道这应该是可能的,因为github对他们的仓库也做同样的事情。
我设法通过在 VHost-config 文件中vcs.myserver.lc
指定 -domain来执行类似操作:DocumentRoot
DocumentRoot /srv/http/vcs/
在此路径中,我放置了一个index.html
带有基本说明的简单文件。
那么,有没有简单的方法可以在 git-client 仍能与 repo 配合使用的情况下显示浏览器的信息端?我可以将浏览器重定向到特定的信息站点吗?
答案1
是的,这其实比较简单。你需要告诉 apache 只对 git 感兴趣的内容使用 git-http-backend,也就是任何匹配的内容^.*/(HEAD|info/refs|objects/info/.*|git-(upload|receive)-pack)$