我有一个项目具有不可修改的文件夹结构,看起来像这样
<project folder>
|_SDK layer 1
|_SDK layer 2
|_SDK layer 3
|_Application Projects Folder
|_Application Project Source Files
|_Application Project Autogenerated Files (not to be committed)
我想在构建每个项目时将SDK文件夹(统称为一个单元)作为应用程序项目源文件文件夹的依赖项。这样,我对SDK进行了修改,我可以将其与应用程序源中的功能/更改相关联。
我是在描述Git子模块吗?或者还有另一种方法可以做到吗?
如果我应该使用Git子模块,我猜测SDK将是我的应用程序源项目的子模块。在这种情况下: 1.这是怎么可能的,因为子模块不是远程的,而是我机器上的文件夹?我已经用Google搜索了这个答案,但还没有找到我想要的东西。 2.如何将其作为子模块添加,因为它位于我的应用程序文件的父目录中?
在此先感谢,我确信有一个简单的解决方案!
答案 0 :(得分:0)
Git子模块是关于在当前存储库中嵌套其他Git存储库。您正在谈论本地文件夹:除非这些文件夹本身不是存储库,否则您将无法首先使用子模块。
关于第二个问题,子模块仅适用于存储库中的路径。因此,如果您的Application Projects Folder
是您当前的存储库根目录,则无法重新创建此结构。
你需要什么(我看到你提到不可修改的,只是为了演示)是<project root>
级别的Git存储库,你可以在其中包含SDK的子模块。
-SDK layer 1 (Git-Repo SDK1)
-SDK layer 2 (Git-Repo SDK2)
-SDK layer 3 (Git-Repo SDK3)
-<project folder> (Git-Repo Application)
|_SDK layer 1 (Git submodule referencing SDK1)
|_SDK layer 2 (Git submodule referencing SDK2)
|_SDK layer 3 (Git submodule referencing SDK3)
|_Application Projects Folder
|_Application Project Source Files
|_Application Project Autogenerated Files (not to be committed)