我想模仿 svn:externals 之类的行为:我有一个主项目,并且在另一个存储库中有一些“通用”代码。使用 SVN 我会这样做:
svn co <url>/src common
我的文件夹结构是:
repo/common/*.cpp
现在使用 git + submodule + sparse checkout 这要复杂得多,当我添加子模块时,我有一个额外的子目录层;
git submodule add <url> common
现在我的文件夹结构是:
repo/common/src/*.cpp
repo/common/lib/...
通过稀疏结帐,我可以确保只签出 src 文件夹,但与 svn:externals 解决方案相比,我仍然多一层(src):
repo/common/src/*.cpp
通用代码有更好的解决方案吗?或者有什么方法可以清理它?我知道一切都会好起来的;就是不太干净。。。