你可以在拉取请求中排除文件吗?

时间:2013-09-12 13:26:04

标签: git github

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

2 个答案:

答案 0 :(得分: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
  3. 要从当前存储库准备这些子模块,可以使用git filter-branch命令。请参阅问题https://stackoverflow.com/a/12515629/1930997以实现这一目标。

答案 1 :(得分:0)

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

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

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