我是git子模块的新手。
我的项目中具有以下结构:
src/main/com/feature1
src/main/com/feature2
src/main/com/feature3
src/main/com/commonFeature
我具有相同的测试结构,但使用以下软件包:
src/test/com/feature1 ...
由于软件包“ commonFeature”是我想在其他项目中重复使用的东西,因此我想为其创建一个git子模块。我正在考虑以下选项来重新组织我的包结构:
src/main/com/commonFeature/main/
src/main/com/commonFeature/test/
或
src/commonFeature/main
src/commonFeature/test
然后,我将像以前一样将其他软件包项目保留在下面:
src/main/com/feature1 ....
不确定什么是最好的方法。任何人都可以帮忙吗?
谢谢!
关于您的问题的几点考虑:
src/main/com/commonFeature/main/
src/main/com/commonFeature/test/
与初始存储库的描述不一致,因此您可能必须修复很多断开的链接。
src/commonFeature/main
src/commonFeature/test
这也是不一致的,并且在没有关于/main/com/
的任何附加知识的情况下,它是与第一个一样好的替代方法。
看到在这两种情况下,您都必须修复很多链接,应该以不同的方式处理问题的思考。
您cannot add a git submodule in the root of your git repository。这迫使您将所有公共库移动到新文件夹。如果是这样,只需考虑这样的新文件夹:
/._
|_ /.git
|_ /main
|_ /test
您必须将其添加到当前的某个位置,具体取决于/src
,/main
,/com
的含义。无论如何,您都必须修复断开的链接。
保留当前树并拥有另一个存储库的替代方法是clone two repositories in the same directory。这很棘手,并且可以解决SubModules的限制。