2013-03-27 44 views
4

我们使用三个主要分支的Git开发,测试&掌握裸仓库。密码保护主存储库

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

同时,我们希望限制开发人员将他们的代码从他们的开发分支推送到测试&主分支。

有什么办法通过使用密码来保护裸存储分支。

回答

6

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

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

Gitolite是在将要托管多个git仓库,每个许多开发商,其中,“任何人都可以做任何事情,任何回购”任何服务器有用的是不是一个好主意。这里有两个例子来说明。

它使用SSH密钥来识别用户,并根据这决定什么是允许或不允许。

+0

我第二个这个。 Gitolite易于安装并且工作得很好。 – jszakmeister 2013-03-27 10:05:20

2

或者你变成一个分布式的基于拉的方法:

而不是每个队员,他们有自己的仓库的一个分支;可以通过写入访问所有内容。

而不是一个只读主分支有一个主存储库,只有选定的一组维护者有写权限。每当你想从开发回归合并到main-repo时,他们都必须通知维护人员并让他们这样做。

我也建议使用gitolite或Gitosis来轻松地管理存储库(我自己只使用Gitosis,这是一个微风建立和维护)。

1

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

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

另一种更“手工制造”的方法是在远程裸仓库(hooks/post-receive)中使用预接收钩子来询问密码。

你可以用一个简单的shell脚本来做到这一点,或者使用你想要的任何语言。