2013-03-07 44 views
1

我需要允許匿名訪問幾個回購。我閱讀了一些關於使用git clone clone --bare方法並使用git-daemon服務克隆的repo的git-daemon的how-tos和docs。 這工作正常,通過aptitude安裝它,它作爲/ etc/srv/git-daemon中的服務而愉快地運行。Git-daemon - 如何更新克隆的回購>?

我的問題是,一旦devel有更多的提交,你如何更新和同步被用作公共存儲庫的克隆實例?

另外,這個回購也似乎是可寫的(顯然,但肯定不總是想要),是否有可能使git-daemon服務只讀?

回答

0

爲了使存儲庫對所有用戶只讀,最簡單的方法是添加一個authorization layer,如gitolite

您可以將其插入到gitweb中,或者只是作爲http訪問權限,就像我在Apache configuration中所做的那樣,該權限可以設置爲需要身份驗證。

因此,您可以保留當前的git-daemon,以進行只讀訪問,但是您可以添加一個(經過身份驗證的)https訪問以用於寫入目的,從而準確控制哪些人可以做哪些回購(通過gitolite) 。

你也將能夠爲鉤cd一個post-receive鉤添加到您的可寫上游回購,以其他只讀回購,並做了git fetch

#!/bin/bash 
export GIT_DIR=/path/to/bare/read-only-repo.git/ 
cd $GIT_DIR 
git fetch --all