如何设置一个 git 存储库,让一些用户可以看到源代码的某些部分,而其他用户可以看到所有源代码?我看过很多只给某些用户提交访问权限的指南,但这些指南假设每个人都应该有读取权限。我也听说过 gitosis,但我不确定它是否支持这一点,而且它已经一年多没有任何提交,所以我认为它已经死了。
最佳答案
简而言之:你不能。 Git 是基于快照(至少在概念层面上)的版本控制系统,而不是基于变更集的版本控制系统。它将项目(存储库)视为一个整体。历史是一个项目的历史,而不是单个文件历史的联合(它不仅仅是每个文件历史的连接)。
在 contrib 或 VREFs 中使用像 update-paranoid
这样的钩子(Hook)gitolite
的机制,你可以允许或禁止访问存储库,你可以允许或禁止访问各个分支。您甚至可以禁止任何更改指定子目录中内容的提交。但项目始终被视为一个整体。
好吧,您可以做一件事:在 submodule 中创建一个您想要限制访问的目录,并限制对该子模块存储库的访问。
关于security - 如何设置不同用户只能看到某些部分的git存储库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1196312/