我有一个项目,该项目过去在path包含一个子模块mysubmodule。我从源代码(1.8.3-rc2)安装了最新的Git并运行了git submodule deinit mysubmodule。然后,我删除了.gitmodules文件并提交了更改。我还.git从mysubmodule文件夹中删除了目录。
我想立即将文件mysubmodule直接提交到我的仓库中,但是git表示没有任何更改。如果我键入git add mysubmodule它什么也不做。如果我键入git add mysubmodule/file.txt它说fatal: Path 'mysubmodule/file.txt' is in submodule 'mysubmodule'
我还发现,如果您签出回购的新版本mysubmodule,尽管没有.gitmodules文件,它也会创建一个目录。运行git submodule init会给您一个No submodule mapping found in .gitmodules for path 'mysubmodule'错误。
我该如何解决?
deinit完全删除了子模块。似乎只是从.git/config文件中将其删除,就好像您已使用子模块克隆了一个repo,但尚未运行git init。这与完全删除子模块不同。如果是这种情况,git仍然认为该文件夹是一个子模块,但忽略了它。