2010-07-01 66 views
24

我有一个git仓库,我想为它添加一个子模块。问题是,子模块作为另一个回购站内的文件夹存在。我可以只将该文件夹添加为子模块吗?如何将git repo中的特定文件夹添加为git子模块?

+0

我在SO中找到了一个解决方案,为我工作:http://stackoverflow.com/questions/9035895/how-do-i-add-a-submodule-to-a-sub-directory – ItayB 2016-03-15 13:37:00

回答

17

如果您确实需要在您自己的回购的历史记录中包含其他存储库的一部分,那么subtree merge strategy比子模块更合适。

但在这两种情况下,完整的存储库都链接到您的仓库,而不仅仅是一个目录。
partial cloning is not possible

您可以尝试和isolate that directory在其自己的存储库中,然后将其添加为子模块,但这意味着它的历史记录将完全与它原来的回购单独分开。

27

我落得这样做:

  1. 创建submodules目录。
  2. 在此目录中添加子模块。
  3. 创建一个符号链接到子模块中的特定目录。

这样你就有默认的Git子模块行为,在你的项目中你只使用整个子模块的一个子集。

+0

hmmm我不'不知道这是否会与我的Windows开发人员一起飞,但我们会尝试并告诉 – fixmycode 2017-06-27 23:51:18

相关问题