簡體   English   中英

Git控制對存儲庫的訪問

[英]Git controlled access to repository

我在Apache服務器中有一個git存儲庫。 如何允許我的開發人員擁有完全訪問權限,即對存儲庫的讀寫訪問權限。 我正在Windows平台上工作。

這個想法是使用git-http-backend exe直接從httpd Apache配置文件中調用git。
這是我在此答案中提到的智能http協議的一部分。

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查詢並返回結果。

您可以在“ 使用git-http-backend.exe在Windows上設置Git服務器 ”中找到完整的示例。


為了獲得更細粒度的訪問級別控制,您可以在httpd.conf添加一個授權層,例如gitolite (gitolite如果授權git查詢,則將調用hit-http-backend)。
我將它與LDAP(用於身份驗證部分)結合使用 ,但是您不必使用LDAP,只需確保將Apache配置設置為首先對用戶進行身份驗證,以便gitolite擁有一個用戶ID使用(允許或拒絕)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM