我可以覆盖嵌套的git子模块的URL而不需要分叉吗?

时间:2016-10-06 10:54:17

标签: git git-submodules

我有一个Git存储库,它使用第三方库的子模块。此第三方库也使用子模块。

我实际上在其中一个第三方子模块中发现了一个非常模糊的错误,它实际上是一个2行修复,以使其适用于我的情况。

如何在我的实际Git存储库中保留此更改,而不必分叉第三方库,更新子模块URL并将其指向另一个fork,以便我可以提交并修复错误?我可以覆盖我的Git存储库中的第三方子模块URL吗?

如果不可能的话,我可能最终会制作一个预构建活动,将我的文件版本复制到正确的位置,但这感觉非常hacky ......但我不想维持两个为第三方图书馆分叉,其中一些工作正常。

我知道我可以提出拉动请求以修复错误,但我们假设作者不会对修复只对我的特定情况进行修复感兴趣,这不是不合理的 - 但是,我仍然希望在我的存储库中修复此问题。

1 个答案:

答案 0 :(得分:0)

你问了

  

我可以覆盖Git存储库中的第三方子模块URL吗?

也许你所寻找的是:

git config submodule.SubModuleName.url PRIVATE_URL
  

请注意

     

由于.gitmodules文件中的URL是其他人首先使用的   尝试克隆/获取,确保使用他们可以访问的URL   如果可能的话。例如,如果您使用不同的URL推送到   其他人会从中获取,使用其他人可以访问的那个。您   可以使用git config在本地覆盖此值   submodule.DbConnector.url PRIVATE_URL供您自己使用。什么时候   适用时,相对URL可能会有所帮助。

来自7.11 Git Tools - Submodules