是否可以像在 SQL 中一样创建 Git 存储库视图?我想授予某人访问存储库的权限,但仅限于某些文件类型,例如 CSS;但是,我想拒绝访问 PHP 和 JavaScript 文件。
答案1
这个问题(部分)回答了这个问题:Git:访问控制?实践中如何做:
您无法通过分支或其他方式进行控制。Git 下载整个存储库。就这样。
这(始终下载整个 repo)是 git 中的一个基本设计决策,没有办法解决这个问题。
如果您只想提供读取权限,则可以使用一些不同的系统,例如,进行一些常规作业将文件镜像到 Web 服务器等,以便可以在那里查看和下载它们。
如果您想提供写访问权限,但仍限制对其他部分的读访问权限,那么可能无法绕过拆分存储库(或实施一些涉及多个存储库和推送与拉取的复杂同步方案)。
如果你想限制写权限,但不介意授予所有内容的读权限,则可以使用git 钩子. 您可能还想考虑吉托莱特:
Gitolite 是 git 之上的访问控制层。以下是“执行摘要”:
[...]
控制对许多 git 存储库的访问
在 repo 级别控制读取访问
在分支/标签/文件/目录级别控制写访问