我目前有以下情况。我有一个私人项目,它就像一个框架,我想将其用作一系列其他项目的基础。在项目的根目录中,有一些名为主题、模块、插件等的文件夹也用于进行独特的更改。进行克隆后,主要目标是更新这些子文件夹并将内容添加到这些子文件夹中。
framework/
| - config.ini
| - core.c
| - module_handler.c
| - plugin_handler.c
| - theme_handler.c
| - modules/
| - plugins/
| - public/
| - images/
| - themes/
- 我希望能够在每个克隆中更新框架版本。(重要)
- 我想要克隆根目录中的框架。(重要)
- 我希望能够选择克隆中的提交/更改并有时将它们推回框架。(会很好,但我可以忍受手动操作的痛苦)
- 我最不使用分支。它们是明显分开的。
我一直在阅读有关子模块的一整天,我觉得这个概念会很完美。除了似乎它们不能存在于新项目的根目录中,因为 .git 文件夹显然是冲突的。但是如果它不能在根目录中,我不知道我将如何处理它。有什么黑客或我可以使用的东西吗?
如果我不能得到所有东西,我可以在没有能力轻松地将更改合并回框架的情况下生活。
我假设我将永远独自处理这件事。我只是希望它更有条理和自我解释。
解决此问题并实现此功能的最佳方法是什么?