- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
请原谅我的沮丧情绪,因为我已多次尝试正确设置此设置但无济于事(可能且最有可能是由于我的无知,但也可能是由于缺乏全面和简明的文档)。
我正在尝试设置一个 git 服务器,以便我可以在一小群开发人员之间共享代码。每个开发人员可以从多个客户端 PC 进行连接。我过去来自 MS,所以我对开发工具集有点被宠坏了,但如果我能得到类似于 TFS 的东西就太棒了。
当尝试设置 gitosis(我知道这在 git 社区中已弃用 https://serverfault.com/questions/225495/ubuntu-server-gitosis-user-naming-convention )或 gitolite 时,似乎我一设置它就必须非常小心,因为似乎一切都是在牙签上保持平衡。
我最近尝试设置一个 git 服务器包括将我的公钥 (benny.pub) 从我的笔记本电脑移动到服务器,使用该公钥设置所有内容并下 pull 配置以设置 repo 和权限。然后我意识到我想在另一台 PC 上开发,所以我创建了一个新 key (benny@desktop.pub) 并将 benny.pub 重命名为 benny@laptop.pub,这显然把事情搞砸了。这是我通过更改名称知道自己很愚蠢的地方。
经过长篇大论的描述后,我的问题是:如何设置一个坚固的自托管 git 服务器,使其能够让多个开发人员从多台机器登录,同时保持安全等?必须有一种经过验证的技术(gitolite 描述了可能有 4-5 种不同的方式......也令人沮丧)才能做到这一点,因为我确信我不是唯一一个试图做同样事情的人。也许 git 不适合我的团队?
非常感谢任何帮助!
最佳答案
根据我的经验,您只需要一个带有单个 git 帐户/登录名的 SSH 服务器,您可以使用其中一个公钥连接到该服务器。使用 SSH 安装 gitolite(将 gitloite 从您的客户端复制到服务器并进行基本设置)并让您的开发人员向您发送他们的公钥。将这些 key 添加到您的 ~
中的 gitolite-admin 存储库中并 push 。
为什么开发人员一开始就需要多个 key 对,即使使用了多台机器?这种情况既不会影响 SSH 处理身份验证的方式,也不会影响 gitolite 如何处理授权:它们仍然是 SSH key 。
如果开发人员必须使用多个 key 对(一个用于 git,另一个用于其他服务器),让他们处理复杂性并建议他们在 ~/.ssh/config
中创建一个条目对于他们使用的每个 key 对/服务器组合。
如果开发人员在每台机器上使用不同的 key 对,gitolite 组可以组合多个公钥:
@agross = agross-1 agross-2
关于linux - Git 服务器挫败感(Gitosis、Gitolite 等),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5607479/
我是一名优秀的程序员,十分优秀!