我有一个项目,它有一个不可修改的文件夹结构,如下所示
<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. 这怎么可能,因为子模块不是远程的,而是我机器上的一个文件夹?我用谷歌搜索了这个答案,但没有找到我要找的东西。 2. 由于它位于我的应用程序文件的父级 目录中,如何将它添加为子模块?
提前致谢,我相信有一个简单的解决方案!
最佳答案
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)
关于父文件夹中的 Git 子模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40110216/