2010-03-25 145 views
10

我想部署一个目录给具有不同权限的多个开发人员。所以这是Git无法做到的一件事。在一个目录中创建两个存储库,并通过排除其他存储库管理的文件并使用.gitignore文件为其分配不同的文件列表。一个目录下有多个Git仓库

例子:/www/project/.git的所有文件,除了在/www/project/css /www/project/css/.git - >只有这个目录

有没有人尝试这种解决方案中的文件?或者有没有更好的方法来处理这个问题?

+1

可能重复[两个git仓库在一个目录?](http://stackoverflow.com/questions/436125/two-git-repositories-in-one-directory) – 2017-03-28 07:54:53

回答

0

我怀疑你是否更好地允许你的开发人员在任一/两个存储库中使用comimits。另请参阅此server fault question

+0

我不想允许访问。设计师和人员发短信不应该能够下载整个代码。第二个问题是我想使用GitHub而不是自己的服务器来处理这些版本库,因为GitHub更简单。 – Jakob 2010-03-25 21:30:33

4

比GIT-子模块(这是使用疼痛)甲更讨人喜欢的方法是gitslave Gitslave创建一组相关的存储库-一个上层项目库和多个从属repositories-的所有这些都是同时开发的,并且所有的git操作都应该正常运行;所以当你分支时,项目中的每个存储库都会依次分支。同样,当你提交,推,拉,合并,标签,签出,状态,日志等;每个git命令将依次在超级项目和所有从属仓库上运行。 CVS和(在较小程度上)Subversion用户可能非常熟悉这种活动。 Gitslave的设计是为了简化正常的git操作。

我还会告诉你etckeeper它跟踪权限。它有它自己的特性,可能会或可能不会使它适用于你。

最后,我会注意到你可以有一个custome post-checkout脚本,它在适当的文件/目录上设置适当的权限。