如何使用http上的pull和push设置cgit?
我正在尝试设置一个cgit实例,您可以从中推送或拉取http。但是,我可以通过cgit通过http浏览我的回购协议,但当我尝试推送到该回购协议时,我得到一个错误: 致命,/info/refs无效,这是git存储库吗 此路径存在于服务器上,这是一个空文件。我已经创建了一个更新后钩子,它自动执行git update服务器信息(repo中的post-update.example)。 但是当我试图通过http查看/info/refs文件时,cgit发布了一条消息,这是一个空存储库 如何通过http访问此文件,以便使用cgit提供给我的URL推送或拉取如何使用http上的pull和push设置cgit?,git,http,cgit,Git,Http,Cgit,我正在尝试设置一个cgit实例,您可以从中推送或拉取http。但是,我可以通过cgit通过http浏览我的回购协议,但当我尝试推送到该回购协议时,我得到一个错误: 致命,/info/refs无效,这是git存储库吗 此路径存在于服务器上,这是一个空文件。我已经创建了一个更新后钩子,它自动执行git update服务器信息(repo中的post-update.example)。 但是当我试图通过http查看/info/refs文件时,cgit发布了一条消息,这是一个空存储库 如何通过http访问此
我在共享主机提供商上有我的repo,因此我没有访问apache.conf的权限,只能访问.htaccess文件…据我所知,cgit不支持推送到Git存储库(通过查看它们的存储库)
您可能需要设置一些类似的功能,以便能够推送。
git-http-backend
手册页提供了Apache 2.x的示例配置,用于匿名读写和身份验证读写。如果您想要一个比git-http-backend
功能更丰富的后端,我建议您使用。它有一些非常好的特性:
- 在服务器上使用单个unix用户(“真实”用户)
- 为许多gitolite用户提供访问权限:
- 他们不是“真正的”用户
- 它们不能访问shell
- 控制对许多git存储库的访问:
- 在回购级别控制读取访问
- 在branch/tag/file/directory级别控制写访问,包括谁可以倒带、创建和删除分支/标记
- 如果已经安装了git和perl,则可以在没有根访问权限的情况下安装
- 身份验证通常使用sshd完成,但如果愿意,也可以使用http(这可能需要根访问)
- 将所有配置存储在管理git存储库中
这只是一些更重要的特性。此外,使用您自己的脚本很容易扩展其行为。我目前正在尝试gitlab。不过,对于一个只有两个用户和几个repo的小设置来说,它似乎是相当大的。或者干脆用。Gitblit是基于java的。由于最近的java漏洞数量超过了RoR漏洞,我想我会继续使用gitlab他,他…认为这是在比较苹果和桔子。最近出现如此多漏洞的并不是服务器端Java。问题出在applet和webstart部分。