我有一个项目,该项目过去在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仍然认为该文件夹是一个子模块,但忽略了它。