1

我正在使用Gitolite
这是我的文件夹结构:

/var/www/demo.com/user1   
/var/www/demo.com/user2  
/var/www/demo.com/user3

我创建了一个名为demo.git.
我创建了三个 gitolite 用户 user1user2user3.

现在,我的问题是,当user1clone 或 commit 或 push 或 pull 更改时,它只应该更改user1's working directoryuser2 ,并且与and相同user3
你会如何用 Gitolite 来执行它?

4

1 回答 1

0

拉取时user1,它总是只会改变他/她自己的工作目录。

但是当user1推送时,他/她推送到一个gitolite-manage 存储库。
如果您需要为每个用户提供个人分支,您可以查看gitolite 个人分支,以强制在特定分支user1中推送。

用户“ alice”(如果她在用户列表中)然后可以将任何分支推入personal/alice/.
这意味着她可以推动personal/alice/fooand personal/alice/bar,但不能personal/alice

(背景:在运行时,“ USER”组件将被调用用户的名称替换。访问权限由右手边决定,像往常一样)。

与在同一服务器上使用任意分支名称相比,这:

  • 通过将所有这些临时分支聚集到“个人/”命名空间中来减少命名空间污染。
  • 通过在其中为每个开发人员提供自己的子层次结构来减少分支名称冲突。
  • 无需考虑访问控制,因为用户只能推送到他自己的子层次结构。
于 2012-07-11T15:11:25.780 回答