对不受信任的用户隐藏 git 存储库的一部分

Rav*_*ole 5 git version-control

我试图以某种方式使用 git,使项目中的某些子目录对“不受信任”的用户保密/隐藏,但对其他“受信任”的用户可见。请注意,这不仅仅是写保护;它还包括写保护。不可信的用户也不能读取秘密文件。我希望用户体验就像是单个 git 存储库,而不是子模块之类的东西。

我会告诉你到目前为止我唯一的想法,以防引发一些讨论或批评。我正在考虑在服务器的后台有两个并行的存储库。受信任的用户克隆/拉取/推送受信任的存储库。不受信任的用户克隆/拉取/推送不受信任的存储库。当对受信任的存储库进行提交时,会先对其进行过滤以删除秘密内容,然后再将其应用于不受信任的存储库。另一方面,对不受信任的存储库的提交会被过滤,以避免在应用于受信任的存储库之前破坏秘密内容。

我应该如何实现这个目标?我提出的解决方案疯狂吗?

jpa*_*ugh 1

假设您计划破解git自身,这在技术上可能是可行的。您需要回答几个问题:

  • 在推送到服务器期间如何识别“秘密”文件?
  • 您将如何确保连接到服务器?由于没有其他服务器可以正确过滤,因此推送到错误的服务器将共享所有秘密内容。

如果你破解了 git,一切皆有可能。