0

有没有办法限制团队中的新开发人员可以从 Github 存储库中提取的文件?我可能不希望新开发人员能够查看/克隆整个项目。

4

2 回答 2

1

git 存储库不是文件存储,而是代码、补丁和元数据的数据库。

您可以过滤从存储库中提取的文件,但是,没有什么可以阻止访问此子目录中的其他文件。

在 Git 世界之外,要拥有这样的目录 ACL 控制,Subversion 还是很有趣的: http ://svnbook.red-bean.com/en/1.7/svn.serverconfig.pathbasedauthz.html

在 Git 世界里,你可以做的是:

  1. 拥有多个 Git 存储库,一个由项目组件组成。因此,您将能够让您的开发人员访问仅包含相关代码的小型存储库。
  2. 将项目的这些存储库组织到带有子存储库的主存储库中。Git 有一个功能可以实现这一点,称为子模块 - http://git-scm.com/book/en/Git-Tools-Submodules

要从当前存储库中准备这些子模块,您可以使用该git filter-branch命令。请参阅问题https://stackoverflow.com/a/12515629/1930997来实现这一点。

于 2013-09-12T13:38:59.283 回答
0

不,git 不跟踪任何权限。只有一种方法可以控制对 git 存储库的访问:使用 unix 权限系统。

这基本上意味着 git repo 只有 3 个可能的访问级别: - 完全没有 - 完全读取权限 - 完全写入权限

CodeGnome 建议使用子模块。这些将允许您将一些代码放入单独的存储库中,该存储库可以具有与主存储库不同的权限。

于 2013-09-12T13:39:22.123 回答