使用智能 HTTP 和 LDAP 身份验证的私有 Git 存储库

使用智能 HTTP 和 LDAP 身份验证的私有 Git 存储库

过去几天我一直在互联网上爬行并做着各种工作,但似乎无法让它们全部协同工作。

我设法通过智能 HTTP(通过 HTTP 进行拉取和推送)为单个存储库获取了与 Ubuntu 10.04 配合使用的 HTTP 存储库。这意味着我通过 SSH 对服务器进行初始设置(git init --bare),然后客户端可以向其进行拉取和推送(git clone http://servername/allgitrepos/repo.git)。

不幸的是,如果不通过 SSH 连接到服务器并手动添加,就无法添加新的 repo),即git push http://servername/allgitrepos/repo2.git(allgitrepos 可供所有人读写和执行) 会失败git update-server-info(这似乎是一个通用的错误消息)。

到目前为止,该存储库是匿名的,因此我想使用 LDAP 进行身份验证还可以使用 LDAP 凭据来进行 git 提交

那么,我如何将新的 repos 推送到服务器以及如何使用 LDAP 凭证来进行 git 提交。

谢谢

编辑1

  1. 可以使用 git-remote 完成吗?

答案1

听起来gitolite可能适合您的需要。

我不记得它是否适用于 10.04 via,apt-get但你可以从以下位置克隆它(git当然是通过)https://github.com/sitaramc/gitolite

答案2

您无法轻松实现这一点。git 远程协议没有创建存储库的方法,这是 的副作用git push。您可以编写一个围绕 git 的包装器,当您尝试推送时,它会自动创建存储库。

相关内容