代码之家  ›  专栏  ›  技术社区  ›  alex

如何设置公共Git存储库?

  •  15
  • alex  · 技术社区  · 16 年前

    我最近尝试在Linux设备上安装git repo,结果浪费了大约10个小时,没有任何结果。编译没有任何问题,这只是配置问题。2小时后,我得到了Mercurial来做我需要的一切:

    1. 公开募股
    2. 网络用户界面
    3. 按用户权限推/拉(不绑定到Linux帐户)

    关于Git,我所能看到的一切都假定您要么只是在本地运行它,使用GitHub,要么已经设置好了一切。我要么找不到合适的关键词,要么就没有或很少关于这个主题的信息。

    我确实想尝试一下Git,但是设置它是一种非常令人沮丧的体验。有人能用这些术语指出一些有用的东西吗?

    谢谢您!

    2 回复  |  直到 12 年前
        1
  •  13
  •   VonC    14 年前

    我相信(但我还没有尝试过) 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 (因为Gitosi服务器管理所有这些不同的Git存储库)


    对于真正的Light(CGI服务器)公共Git存储库,您可以:

    • 建立一个 git server : git-daemon ;它将监听端口9418。默认情况下,它将允许访问任何看起来像git目录并且包含magic文件git daemon export ok的目录。将一些目录路径作为git守护进程参数传递将进一步限制对这些路径的导出。
      您还可以将git守护进程作为inetd服务运行;
    • export with http 将新创建的裸Git存储库放在Web服务器导出的目录中,并进行一些调整,以向Web客户机提供他们需要的额外信息。

    以下是如何在 Apache server .


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

        2
  •  1
  •   Derek Mahar    14 年前

    你可以这么做

    git instaweb

    如果你有 lighttpd 安装。不过,这只是Web图形用户界面。