如何将git子模块与第三方库一起使用?

时间:2014-04-05 17:33:37

标签: git github git-submodules

我想在github上添加第三方库作为我正在进行的项目的git子模块。

由于这是一个可以更改的库,而且这些更改不在我手中,我想知道将它用作子模块的最佳做法是什么。

我想到的选项是:

  1. 分叉lib并将其用作子模块,以确保没有任何更改损害我的项目。
  2. 使用特定版本的分支/标记(可能)作为子模块
  3. 这些选项中的一个是推荐的方式吗?除了这些选择之外还有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

  • 如果此库所有者发布了软件包,则可能更容易使用您的语言管理器:您只需更新新软件包可用时要使用的版本号。

  • 否则,使用子模块(或subtree)可能是一种选择。如评论中所述,您仍然可以选择要使用的库的提交,并在您选择时进行更新。

例如,这个project连续使用了两个解决方案:它started包含子模块,eventually将此库作为maven包引用。

请注意,使用子模块,您最终会在工作区中克隆库,因此,如果您需要分叉库,那么实际上没有任何意义。