git 许可?

git 许可?

我想授予设计师对我正在开展的项目的 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 存储库的访问。不过,我不确定它是否对您来说足够细致。

相关内容