限制用户在 monorepo 中的访问

Amr*_*lly 5 git github monorepo

如果您正在处理一个大型 monorepo,并且您想限制某些用户对该 monorepo 中特定目录(包)的访问,有没有比使用 git 子模块更好的方法来做到这一点?

例如,如果你有那个 monorepo 结构

- packages
  - package A
  - package B
  - package C
  - common
Run Code Online (Sandbox Code Playgroud)

你想允许用户读取和写入package A,并common只。使用 git submodules 是实现这一目标的最佳方法吗?

Von*_*onC 3

对于 Git,读取访问限制意味着存储库对于某些用户来说是“私有的”。
以及带有子模块的 monorepo:

  • 并不是真正的单一仓库
  • 这些用户的克隆将会失败,因为它会尝试克隆每个子模块

gitolite是一种至少可以限制每个文件夹的写入访问权限的授权系统(如果您可以控制远程服务器)。
限制一个(单一)存储库内的读取访问是很棘手的(或者是不可能的)。