我有一个git子模块,我想成为我的主项目的一部分(因为我有很多项目特定的代码将进入子模块)。
所以我想删除子模块的git引用并将文件添加到我的主git存储库。
但是怎么样?
答案 0 :(得分:28)
您必须删除索引中的gitlink entry:
mv subfolder subfolder_tmp
git submodule deinit subfolder
git rm --cached subfolder
mv subfolder_tmp subfolder
git add subfolder
将subfolder
替换为子模块的文件夹名称,并确保不添加任何尾部斜杠。
这是我在“Remove a Git submodule?”和“un-submodule a git submodule”中详述的内容。
--cached
选项允许您将子文件夹内容保留在磁盘中......除git submodule deinit
之外已经删除了该内容。因此mv
部分。
然后,您可以添加并提交该子文件夹。
答案 1 :(得分:0)
VonC的答案将删除子模块文件夹内容,除非您首先重命名物理文件夹 - 如本答案中所示,其问题被乍得重复说明: