我试图想出一种相当干净的方式来在 Git 中表示以下内容:
包含跨多个项目使用的通用代码的基础项目。
在基础项目的几个子目录中使用附加文件扩展基础项目的多个项目。
扩展项目通常对基础项目进行特定于项目的修改。我们希望能够将这些修改推回上游,同时又不将扩展特定的东西向上推。
我目前的想法是这样的:
基础项目和每个扩展项目的单独存储库。
对于每个扩展项目,派生基础项目并为扩展特定的东西创建一个子模块。将子模块的子目录符号链接到超级项目目录结构中的预期位置。
有没有更好的办法?
我试图想出一种相当干净的方式来在 Git 中表示以下内容:
包含跨多个项目使用的通用代码的基础项目。
在基础项目的几个子目录中使用附加文件扩展基础项目的多个项目。
扩展项目通常对基础项目进行特定于项目的修改。我们希望能够将这些修改推回上游,同时又不将扩展特定的东西向上推。
我目前的想法是这样的:
基础项目和每个扩展项目的单独存储库。
对于每个扩展项目,派生基础项目并为扩展特定的东西创建一个子模块。将子模块的子目录符号链接到超级项目目录结构中的预期位置。
有没有更好的办法?