如何设置公共git存储库?

时间:2009-03-06 21:12:29

标签: git repository public

我最近尝试在linux机器上安装git repo并浪费了大约10个小时,但绝对没有结果。编译或类似的东西没有任何问题,这只是配置问题。 2个小时后,我变得善变,做我需要的一切:

  1. public repos
  2. web ui
  3. 按用户权限推送/拉取(不依赖于Linux帐户)
  4. 我能看到的关于git的所有东西都假定你要么只是在本地运行它,要么使用github,要么已经完成了所有设置。我要么不是在寻找合适的关键词,要么就是没有关于这个主题的信息。

    我确实想尝试git,但设置它是一种非常令人沮丧的经历。任何人都可以指出这些术语中有用的东西吗?

    谢谢你!

2 个答案:

答案 0 :(得分:13)

我相信(但我还没有尝试过)gitosis是要走的路:
更新:2011年,我实际部署了 gitolite

  • 使托管git回购更容易,更安全。它
  • 使用SSH密钥识别用户,在一个用户帐户下管理多个存储库 最终用户不需要服务器上的shell帐户,他们将与一个不允许他们运行任意命令的共享帐户通信。

我建议的安装过程是从客户端帖子完成的,以便在服务器上复制完整的gitolite安装:

(from-client method) install from the client to the server

请记住:gitolite manages authorization, not authentication (SSH):它可以在没有SSH的情况下使用,但它的自然部署是通过SSH和forced command mechanism。 (就像gitosis一样,但有更多功能)


gitosis的旧参考文献:

以下是 tutorial 的逐步步骤。

然后是教程的应用程序:Gitosis — making hosting multiple Git repositories manageable(适用于Mac)或installing gitosis on Ubuntu

后跟:Adding users to our secure Git setup

完成:Git subprojects(因为你的gitosis服务器管理所有不同的git存储库)


对于真正的轻量级(cgi服务器)公共Git存储库,您可以:

  • 设置git servergit-daemon;它将侦听端口9418.默认情况下,它将允许访问任何看起来像git目录的目录,并包含魔术文件git-daemon-export-ok。将一些目录路径作为git-daemon参数传递将进一步限制对这些路径的导出 您还可以将git-daemon作为inetd服务运行;
  • export with http将新创建的裸git存储库放在Web服务器导出的目录中,并进行一些调整以向Web客户端提供所需的一些额外信息

以下是如何在Apache server上执行此操作。


2010年文章“8 ways to share your git repository”提到了访问Git存储库的所有可能性。

答案 1 :(得分:1)

你可以做到

git instaweb

如果您安装了lighttpd。但这只是Web GUI。