我有一个git存储库(A),其中包含我需要在第二个存储库(B)中重用的库代码。
我的理解是git子模块不允许仅导入存储库中的特定路径,需要导入整个存储库。这是对的吗?
因此,我看到了两个解决问题的方法:
第二种方法有哪些优点?在我看来,为小型库添加一个单独的存储库是一种过度杀伤,可能会给项目维护带来不必要的负担。有没有更好的方法来解决我的问题?
答案 0 :(得分:5)
主要思想是构建可重复性:能够恢复完全配置(即标签或SHA1的确切列表)在特定时间使用的部分内容建立。
在该上下文中(重现构建的能力),子模块(和解决方案2)优于任何符号链接(这是目录内容的快捷方式,而不涉及特定版本)。
另一种方法是将源控制系统的 外部的lib外部化到像Nexus这样的工件库中,然后留在项目中( s)只有引用到该库的正确版本才能获取。