Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个 git 项目,其中包含从另一个 git 项目复制的一些文件。现在我想将这些文件转换成一个 git 子模块。我可以在不丢失我已经做过的改变的历史的情况下做到这一点吗?谢谢!
制作您的存储库的副本,使用git filter-branch. 因此,您只有提交描述了该子目录中发生的事情,并且目录层次结构看起来与未来子模块中的完全相同。
git filter-branch
然后将此新存储库作为远程存储库添加到上游存储库并进行合并。Git 会说一些关于没有共同祖先的事情,但它应该可以工作。
毕竟,删除项目中的子目录并将子模块放在它的位置(在一次提交中)。