我需要允许访问一些回收站。我阅读了一些关于git-daemon的操作指南和文档,它们使用git clone clone --bare
方法并使用git-daemon提供克隆的存储库。这可以很好地工作,通过aptitude安装它,并且它作为/etc/srv/git-daemon中的一个服务运行。
我的问题是,一旦devel有更多的提交,如何更新和同步被用作公共存储库的克隆实例?
此外,这个repo似乎也是可写的(很明显,但肯定不是总想要的),有没有可能让git-daemon服务为只读?
发布于 2013-03-07 15:01:37
为了使存储库对所有用户都是只读的,对某些用户是可写的,最简单的方法是添加一个像gitolite这样的authorization layer。
您可以将其插入gitweb,或者只插入http(s)访问,就像我在这个Apache configuration中所做的那样,它可以设置为需要身份验证。
因此,您可以保留当前的git-daemon,用于只读访问,但您可以添加用于写入目的的(经过身份验证的) https访问,从而允许您精确地控制谁可以对哪些repos执行哪些操作(通过gitolite)。
您还可以向您的可写上游存储库添加一个post-receive
钩子,以便该钩子可以对另一个只读存储库执行cd
操作,并执行git fetch
。
#!/bin/bash
export GIT_DIR=/path/to/bare/read-only-repo.git/
cd $GIT_DIR
git fetch --all
https://stackoverflow.com/questions/15264068
复制相似问题