我正在使用Gitolite 这是我的文件夹结构:
/var/www/demo.com/user1
/var/www/demo.com/user2
/var/www/demo.com/user3
我创建了一个名为demo.git
的存储库
我创建了三个gitolite用户user1
,user2
和user3
。
现在,我的问题是当user1
克隆或提交或推送或拉动更改时,它只应更改user1
的工作目录,与{相同} {1}}和user2
你会如何用Gitolite强制执行?
答案 0 :(得分:0)
当user1
拉动时,它将始终只更改他/她自己的工作目录。
但是当user1
推动时,他/她会推送一个 gitolite-manage repo。
如果您需要为每个用户提供个人分支,则可以查看 gitolite personal branches ,以强制user1
仅在特定内容中推送 分支。
用户“
alice
”(如果她在用户列表中)可以推送personal/alice/
内的任何分支。
这意味着她可以推送personal/alice/foo
和personal/alice/bar
,但不能推personal/alice
。(背景:在运行时,“
USER
”组件将被调用用户的名称替换。访问权限由右侧确定,如常))。与在同一服务器上使用任意分支名称相比,这个:
- 通过将所有这些临时分支保存到“个人/”命名空间来减少命名空间污染。
- 通过为每个开发人员提供自己的子层次结构来减少分支名称冲突。
- 无需考虑访问控制,因为用户只能推送到他自己的子层次结构。