我在 github 中有一个私有(private)仓库,它是我的 cms 的完整源代码。现在我有一些本地客户,我想使用相同的代码库但主题不同。将原始项目 fork 到每个项目的 repo 中是否更好。或者使用子模块并为每个客户创建一个新的 repo 协议(protocol)?
在每个站点完成后,我想主题文件不会有太大变化,但在发现错误时需要从主存储库中提取更改。
最佳答案
由于涉及两组文件(基于通用的文件和主题文件),因此子模块是合适的。
每个客户都会有:
- 一个主要的 git repo 项目
- 一个克隆公共(public)代码库的子模块
- 一个子模块及其主题的特定文件。
fork 更像是一种克隆技术,能够从其副本中分离出一个版本的存储库。
GitHub 用 fork queue 实现它以方便挑选回在 fork 的 Git 存储库中所做的一些更改。
但这里的关键是:它涉及所有 存储库,而不仅仅是一部分。
如果涉及多个部分,则子模块是正确的答案。
关于Git 子模块或 fork,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2899046/