2013-02-08 21 views
1

我有一个git项目,其中包含从另一个git项目复制的一些文件。现在我想将这些文件转换为git子模块。我可以做到这一点,而不会丢失我已经做过的更改的历史记录吗? 谢谢!创建git子模块以替换复制和修改的文件

+1

您应该改为将第二个回购作为子模块添加,然后对子模块进行自己的提交,其中包括删除文件 – Parham 2013-02-08 23:29:03

+0

我相信您的问题的答案已经在此处介绍:http://stackoverflow.com /问题/ 3910412 /分大的git-库 - 到 - 多 - 较小的。 – artyom 2013-02-09 16:00:11

回答

0

复制您的存储库,使用git filter-branch排除未来子模块以外的所有内容。所以你只有提交描述在子目录中发生的事情,目录hiearchy看起来和未来的子模块完全一样。

然后添加这个新的存储库作为远程上游存储库并进行合并。 Git会说一些关于没有共同祖先的东西,但它应该起作用。

毕竟这会删除项目中的子目录,并将子模块放在它的位置(在一次提交中)。