删除子模块

Version > 1.8

你可以通过调用以下命令删除子模块(例如 the_submodule):

$ git submodule deinit the_submodule
$ git rm the_submodule 
  • git submodule deinit the_submodule 从 .git / config 删除 the_submodules 的条目。这将从 git submodule updategit submodule syncgit submodule foreach 调用中排除 the_submodule 并删除其本地内容 (源) 。此外,这不会在父存储库中显示为更改。git submodule initgit submodule update 将恢复子模块,同样在父存储库中没有可提交的更改。

  • git rm the_submodule 将从工作树中删除子模块。文件将与 .gitmodules 文件 (源)中的子模块条目一样消失。如果仅运行 git rm the_submodule(之前没有运行 git submodule deinit the_submodule,则 .git / config 文件中的子模块的条目将保留。

Version < 1.8

取自这里

  1. .gitmodules 文件中删除相关部分。
  2. 阶段 .gitmodules 改变 git add .gitmodules
  3. .git/config 删除相关部分。
  4. 运行 git rm --cached path_to_submodule(没有斜杠)。
  5. rm -rf .git/modules/path_to_submodule
  6. 承诺 14
  7. 删除现在未跟踪的子模块文件
  8. rm -rf path_to_submodule