使用gitosis指定每个分支的权限?

时间:2009-02-23 22:43:05

标签: git gitosis gitolite

使用gitosis,是否可以指定写入权限,以便用户可以使用自己的名称自由推送到分支,但不能与主服务器合并?例如。 $ USER / test1 .. $ USER / test5

这意味着您可以为每个项目仅托管一个存储库,而不是为同一个项目托管多个存储库,特定于每个用户:

 project1-user1
 project1-user2
 project1-user3
 ...
 project5-user1
 project5-user2
 project5-user3

4 个答案:

答案 0 :(得分:20)

Gitolite项目提供此功能。这是Perl中Gitosis的重写。它的代码可以找到on github

当我第一次写这个答案时,它不支持gitwebgit-daemon集成,但它现在就支持。

答案 1 :(得分:3)

答案 2 :(得分:1)

Gitosis控制对存储库的访问,但不控制对分支或提交的访问。因此,您可以将主服务器本身放入具有只读访问权限的存储库中,并允许用户将其各个分支推送到另一个存储库(或者每个用户一个,如您所说)。我还没有看到任何人为了更细粒度的控制而延长gitosis。

如果您真的需要限制用户的访问权限并且想要使用Git,那么也许您应该只通过电子邮件获取补丁并将您的repo保持为只读。

答案 3 :(得分:0)

Gitolite非常支持分支或标记名称的许可。

在Pro GIT一书中,this section详细说明了如何设置和配置每个分支访问权限。在该页面中搜索“配置文件和访问控制规则”。