Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用http上的pull和push设置cgit?_Git_Http_Cgit - Fatal编程技术网

如何使用http上的pull和push设置cgit?

如何使用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访问此

我正在尝试设置一个cgit实例,您可以从中推送或拉取http。但是,我可以通过cgit通过http浏览我的回购协议,但当我尝试推送到该回购协议时,我得到一个错误:

致命,/info/refs无效,这是git存储库吗

此路径存在于服务器上,这是一个空文件。我已经创建了一个更新后钩子,它自动执行git update服务器信息(repo中的post-update.example)。 但是当我试图通过http查看/info/refs文件时,cgit发布了一条消息,这是一个空存储库

如何通过http访问此文件,以便使用cgit提供给我的URL推送或拉取


我在共享主机提供商上有我的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部分。