我在Apache服务器上有一个git存储库。如何允许我的开发人员具有完全访问权限,即对存储库的读写访问权限。我正在使用Windows平台。
答案 0 :(得分:0)
我的想法是使用 git-http-backend
exe直接从httpd Apache配置文件调用git。
这是我在smart http protocol中提到的this answer的一部分。
Env GIT_PROJECT_ROOT C:/GIT/Apache/repositories
SetEnv GIT_HTTP_EXPORT_ALL
SetEnv REMOTE_USER=$REDIRECT_REMOTE_USER
ScriptAliasMatch \
"(?x)^/(.*/(HEAD | \
info/refs | \
objects/(info/[^/]+ | \
[0-9a-f]{2}/[0-9a-f]{38} | \
pack/pack-[0-9a-f]{40}\.(pack|idx)) | \
git-(upload|receive)-pack))$" \
"C:/Program Files/git/libexec/git-core/git-http-backend.exe/$1"
该脚本(在任何Git发行版中)将能够通过http获取git查询并返回结果。
您可以在“Setting up Git Server on Windows With git-http-backend.exe
”
对于更精细的访问级别控制,您可以在httpd.conf
中添加authorization layer,例如 gitolite (gitolite会调用hit-http-后端,如果它授权git查询)
我在与LDAP (for the authentication part)的cunjunction中使用它,但您不必使用LDAP,只需确保您的Apache配置首先设置为对用户进行身份验证,以便让gitolite拥有一个用户ID来处理(允许或否认)。