首先,我是 GIT 和 gitolite 的新手。但是我已经阅读了足够的内容并清除了我的基本概念。我正在关注 Sitaram 的教程https://github.com/sitaramc/gitolite我想问几个问题来澄清和怀疑。
我有一个用户 git。git 用户是否真的需要没有密码(使用
--disabled-password
选项创建的用户(我不能让它在 RHEL 上工作。但它在 ubuntu 上工作))?我知道 git 用户必须可以通过 ssh 访问。假设我有一个 GIT 服务器和三个客户端 gitadmin、cleintA 和 clientB。现在为了使 gitolite 工作,在 gitadmin 上我将 clientA.pub、ClientB.pub (公钥)复制到
keydir
然后我编辑我conf/gitolite.conf
的如下:repo phpsite RW+ = clientA repo javasite RW+ = clientB
现在我的问题是当我提交这些文件并将它们推送到服务器上时。那会发生什么?这些回购是如何创建的?我必须手动创建它们还是 gitolite 会创建它?
现在,当 clientA 需要克隆/签出 repo 时,它将使用什么 url?
git@server.com:phpsite
还是会clientA@server:phpsite
。
我知道这个问题可能有点愚蠢,但我真的需要清除这些疑虑
任何帮助或提示都是非常可观的。
编辑
在 VonC 回答之后,我实施了 gitolite 并绕过了另一个怀疑。假设我有一台机器现在clientA
有两个用户alice,bob
理想情况下公钥应该是alice.pub and bob.pub
给这些用户的。alice
现在的问题是我可以为like生成并命名一个公钥alice-clientA.pub
吗?据我了解,不同的文件名不应该成为身份验证的问题。但是 conf/gitolite.conf
repo 下的用户名应该是什么样的
repo phpsite
RW+ = alice-clientA
或者
应该和以前一样
repo php:site
RW+ = alice
谢谢!