创建git子模块以替换复制和修改的文件

时间:2013-02-08 23:00:55

标签: git

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

1 个答案:

答案 0 :(得分:0)

制作存储库的副本,使用git filter-branch删除未来子模块以外的所有内容。因此,您只有提交描述该子目录中发生的事情,而目录层次结构与未来的子模块完全相同。

然后将此新存储库添加为上游存储库的远程存储库并执行合并。 Git会说一些关于没有共同祖先的事情,但它应该有效。

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