密码保护主存储库

时间:2013-03-27 08:22:48

标签: git

我们正在使用Git三个主要分支开发,测试&掌握裸库。

我们有很多开发环境都有git仓库。每个人都创建了开发分支并在该分支上工作,并将他们的代码推送到裸存储库中的Development分支。

与此同时,我们希望限制开发人员将他们的代码推送到Test& amp;来自其开发部门的主分支。

有没有办法使用密码保护裸存储库分支。

3 个答案:

答案 0 :(得分:6)

如果您使用linux来托管存储库,我强烈建议您使用gitolite

Gitolite允许您为每个用户或用户组指定他们可以推送的分支,等等。

  

Gitolite在任何将要托管多个git存储库的服务器中都很有用,每个存储库都有许多开发人员,“任何人都可以对任何存储库执行任何操作”并不是一个好主意。这里有两个例子来说明。

它使用ssh密钥来识别用户,并根据它来决定允许的内容。

答案 1 :(得分:2)

或者您更改为基于分布式拉取的方法:

不是为每个团队建立分支,而是拥有自己的存储库;对所有内容进行写访问。

有一个主存储库,只有一组选定的维护者具有写访问权,而不是只读主分支。每当你想要从开发回购中将某些东西合并到main-repo中时,他们就必须通知维护者并让他们这样做。

我还建议使用gitolite或Gitosis轻松管理存储库(我自己只使用Gitosis,设置和维护是轻而易举的。)

答案 2 :(得分:1)

您无法使用“仅限git”密码保护特定分支。这是所有权限,或者都没有。

你可以使用gitolite,它非常适合处理权限,正如Ikke所说。

另一种更“手工制作”的方法是在远程裸存储库中使用预接收挂钩(挂钩/接收后)来要求输入密码。

您可以使用简单的shell脚本或使用您想要的任何语言来实现。