我想给一个devise师提交一个我正在处理的项目的html / css / images等的访问权限。 问题是存储这些信息的git仓库也与一般代码库共享,我希望devise师不需要访问这些代码库,因为他们不需要它。
在SVN中,我只是通过只允许某些人访问版本库中的目录来解决这个问题。 据我所知,由于不同的结构,在git中这是不可能的,你可以有整个回购或者你没有。
推荐的方法是什么? 别人怎么解决这个问题呢?
谢谢
要么学会和devise师一起生活,要能够访问代码(无论如何都不能留下任何logging,否则他们不能改变任何东西),要么将他们需要访问的东西拆分成一个单独的回购,然后将其包含在主要项目作为子模块。 您可以使用git filter-branch不希望devise人员在单独的回购库中访问的存储库部分。
Git不能这样工作。
如果你想限制对树的读访问权限,那么你唯一的select就是把你想让他/她访问的东西拆分成一个单独的存储库。
如果他们的问题是关于提交访问/写入访问,请devise师克隆你的git存储库,进行更改并将其提交到克隆的存储库中。 并发布这个克隆的存储库的地方为你拉。
GitHub非常适合这种types的东西。
然后,您可以在需要时进行修改,检查并testing,并将其合并到主线。
根据Pro Git ,您可以使用强制基于用户的ACL系统来只允许某些用户修改项目中的某些子目录。
从文章:
在这种情况下,你有几个pipe理员,一些可以访问doc目录的文档编写者,以及一个只能访问lib和tests目录的开发者,你的ACL文件看起来像这样
avail|nickh,pjhyett,defunkt,tpw avail|usinclair,cdickens,ebronte|doc avail|schacon|lib avail|schacon|tests
你看过Gitosis吗? 我不确定它会做到你想要的,但它的目的是控制访问Git仓库。 不过,我不确定它是否足够精细。