限制用户在 monorepo 中的访问

Limiting uses' access in a monorepo

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

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

- packages
  - package A
  - package B
  - package C
  - common

并且您只想允许用户读取和写入 package Acommon。使用 git 子模块是实现此目标的最佳方法吗?

对于 Git,读取访问限制意味着存储库对某些用户来说是 "private"。
还有一个带有子模块的 monorepo:

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

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