创建git子模块以替换复制和修改的文件
我有一个git项目,其中包含一些从另一个git项目复制的文件。现在我想把这些文件转换成git子模块。我能做到这一点而不丢失我已经做过的改变的历史吗?创建git子模块以替换复制和修改的文件,git,Git,我有一个git项目,其中包含一些从另一个git项目复制的文件。现在我想把这些文件转换成git子模块。我能做到这一点而不丢失我已经做过的改变的历史吗? 谢谢 复制存储库,使用git filter branch消除未来子模块之外的所有内容。所以您只有描述该子目录中发生的事情的提交,并且目录层次结构看起来与将来的子模块完全相同 然后将此新存储库作为远程存储库添加到上游存储库并进行合并。Git会说一些关于没有共同祖先的事情,但它应该是有效的 完成所有这些操作后,请删除项目中的子目录,并将子模块放在相应的
谢谢 复制存储库,使用
git filter branch
消除未来子模块之外的所有内容。所以您只有描述该子目录中发生的事情的提交,并且目录层次结构看起来与将来的子模块完全相同
然后将此新存储库作为远程存储库添加到上游存储库并进行合并。Git会说一些关于没有共同祖先的事情,但它应该是有效的
完成所有这些操作后,请删除项目中的子目录,并将子模块放在相应的位置(在一次提交中)。您应该先将第二个repo添加为子模块,然后在子模块上进行自己的提交,其中可以包括删除文件。我相信您的问题的答案已在此处介绍:。