我最近尝试在 Linux 机器上设置 git repo,浪费了大约 10 个小时,但完全没有结果。编译没有任何问题或类似的问题,这只是配置问题。2小时后,我得到了 Mercurial 来完成我需要的一切:

  1. 公共回购协议
  2. 网络用户界面
  3. 具有每个用户权限的推/拉(不绑定到 Linux 帐户)

我能看到的关于 git 的所有内容都假设您只是在本地运行它、使用 github 或者已经完成了所有设置。我要么没有寻找正确的关键字,要么没有或很少有关于该主题的信息。

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

谢谢你!

有帮助吗?

解决方案

我相信(但我还没有尝试过) 吉特西斯 是为了:
更新:2011年,我已经实际部署了 硅藻土

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

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

(from-client方法)从客户端安装到服务器

记住: gitolite 管理授权,而不是身份验证 (SSH): :它可以在没有 SSH 的情况下使用,但它的自然部署是通过 SSH 进行的 强制命令机制. 。(就像 gitosis 一样,但有更多功能)


gitosis 的旧参考:

这是一步一步的 教程.

然后是本教程的应用: Gitosis — 使托管多个 Git 存储库变得易于管理 (对于 Mac)或 在 Ubuntu 上安装 gitosis

其次是: 将用户添加到我们的安全 Git 设置中

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


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

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

以下是如何在 阿帕奇服务器.


2010年文章《共享 git 存储库的 8 种方法” 提到了授予 Git 存储库访问权限的所有可能性。

其他提示

你可以做到

git instaweb

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top