删除子模块
Version > 1.8
你可以通过调用以下命令删除子模块(例如 the_submodule
):
$ git submodule deinit the_submodule
$ git rm the_submodule
-
git submodule deinit the_submodule
从 .git / config 删除the_submodule
s 的条目。这将从git submodule update
,git submodule sync
和git submodule foreach
调用中排除 the_submodule 并删除其本地内容 (源) 。此外,这不会在父存储库中显示为更改。git submodule init
和git submodule update
将恢复子模块,同样在父存储库中没有可提交的更改。 -
git rm the_submodule
将从工作树中删除子模块。文件将与.gitmodules
文件 (源)中的子模块条目一样消失。如果仅运行git rm the_submodule
(之前没有运行git submodule deinit the_submodule
,则 .git / config 文件中的子模块的条目将保留。
Version < 1.8
取自这里 :
- 从
.gitmodules
文件中删除相关部分。 - 阶段
.gitmodules
改变git add .gitmodules
- 从
.git/config
删除相关部分。 - 运行
git rm --cached path_to_submodule
(没有斜杠)。 - 跑
rm -rf .git/modules/path_to_submodule
- 承诺 14
- 删除现在未跟踪的子模块文件
rm -rf path_to_submodule