我想授予设计师对我正在开展的项目的 html/css/images 等的提交权限。问题是存储此信息的 git 存储库也与通用代码库共享,我不希望设计师有访问权限,因为他们不需要它。
在 SVN 中,我只需授权存储库中的目录仅供某些人访问即可解决这个问题。据我所知,由于结构不同,这在 git 中是不可能的,你要么拥有整个存储库,要么没有。
完成此操作的推荐方法是什么?其他人如何解决这个问题?
谢谢
答案1
要么学会接受设计师有权访问代码(无论如何,他们不能更改任何内容而不留下记录),要么将他们需要访问的内容拆分到单独的存储库中,然后将其作为子模块包含在主项目中。您可以使用git filter-branch
在单独的存储库中剥离您不希望设计师访问的存储库部分。
答案2
Git 不以那种方式工作。
如果您想限制对树的读取权限,那么您唯一的选择就是将您希望他/她有权访问的内容拆分到单独的存储库中。
如果他们的问题是关于提交权限/写权限,请让设计师克隆您的 git 存储库,进行更改并将其提交到克隆的存储库中。然后将此克隆的存储库发布到某个地方,供您提取。
GitHub 非常适合处理这类东西。
然后,您可以在需要时提取他的更改,检查它们,测试它们并将其合并到主线中。
答案3
根据专业 Git, 您可以使用实施基于用户的 ACL 系统只允许特定用户修改项目中的特定子目录。
摘自本文:
在这种情况下,您有几个管理员、一些有权访问 doc 目录的文档编写者,以及一个只能访问 lib 和 tests 目录的开发人员,您的 ACL 文件如下所示
avail|nickh,pjhyett,defunkt,tpw
avail|usinclair,cdickens,ebronte|doc
avail|schacon|lib
avail|schacon|tests
答案4
你看过吉托西斯?我不确定它是否能完全满足您的要求,但它旨在控制对 git 存储库的访问。不过,我不确定它是否对您来说足够细致。