Git-daemon - 如何更新克隆的repo>?

时间:2013-03-07 05:51:21

标签: git git-daemon

我需要允许匿名访问一些回购。我在git-daemon上阅读了一些使用git clone clone --bare方法并使用git-daemon服务克隆存储库的how-tos和docs。  这很好用,通过aptitude安装它,并作为/ etc / srv / git-daemon中的服务快速运行。

我的问题是,一旦devel有更多提交,你如何更新和同步被用作公共存储库的克隆实例?

此外,这个repo似乎也是可写的(显而易见,但肯定不是一直想要的),是否有可能让git-daemon服务为只读?

1 个答案:

答案 0 :(得分:0)

为了使所有人只读存储库,只为某些用户可写,最简单的方法是添加authorization layer gitolite

您可以将其插入gitweb,或仅插入http(s)访问,就像我在此Apache configuration中一样,可以设置为需要身份验证。

因此,您可以保留当前的git-daemon,以进行只读访问,但您可以添加(经过身份验证的)https访问以进行写入,从而可以精确控制谁可以执行哪些回购(通过gitolite)。

您还可以向可写上游仓库添加post-receive挂钩,以便将cd挂钩到另一个只读仓库,并执行git fetch

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