我一直在研究一个想法,并且需要通过某人来运行它,看看我是否已经走到了尽头。
我正在开发一个相当复杂的 PHP 项目,我是唯一的开发人员。我们正在寻找其他人来帮助进行编程工作,但不希望他们在第一天就看到所有内容。“核心架构”和“非核心”之间有一条非常清晰的界线。我希望新人能够阅读和修改“非核心”部分。非核心部分需要核心部分才能工作。
我的计划是这样的:
- 使核心和非核心部分分开 git 存储库
- 使核心部分成为非核心的子模块
- 向核心存储库添加一个提交后挂钩,以运行代码混淆
然后当子模块更新时,文件将执行,但将非常难以阅读。
#1 和 #2 很简单。但是#3...我不知道它是否可以完成。我正在研究 git 内部结构,以查看文件的实际存储方式,但似乎它们只是存储在文件系统中。因此,没有任何方法可以编辑它们并添加混淆而不完全破坏“好”副本。话虽如此,我总是可以在那里菊花链另一个回购。
良好的回购 -> 核心回购(带有混淆) -> 非核心
我只是想知道是否有更清洁的方法来做到这一点。
只是另一个想法,但我无法使用混淆代码的存储库。而是让 git commit 钩子调用脚本来复制和混淆核心代码并将其放置在非核心存储库中。添加 .getignore 以便该文件夹不属于非核心代码库。