如何删除Git子模块?为什么我不能git子模块rm模块名称?


当前回答

我发现deinit对我很好:

git submodule deinit <submodule-name>    
git rm <submodule-name>

从git文档:

解交织注销给定子模块,即删除整个子模块$名称git/config中的部分及其工作树。

其他回答

以下是我所做的:

1.)从.gitmodules文件中删除相关部分。您可以使用以下命令:

git config -f .gitmodules --remove-section "submodule.submodule_name"

2.)准备.gitmodules更改

git add .gitmodules

3.)从.git/config中删除相关部分。您可以使用以下命令:

git submodule deinit -f "submodule_name"

4.)删除gitlink(无尾斜杠):

git rm --cached path_to_submodule

5.)清理.git/模块:

rm -rf .git/modules/path_to_submodule

6.)承诺:

git commit -m "Removed submodule <name>"

7.)删除现在未跟踪的子模块文件

rm -rf path_to_submodule

对于数字2.17及以上,它只是:

git submodule deinit -f {module_name}
git add {module_name}
git commit

我发现deinit对我很好:

git submodule deinit <submodule-name>    
git rm <submodule-name>

从git文档:

解交织注销给定子模块,即删除整个子模块$名称git/config中的部分及其工作树。

删除git子模块

要删除git子模块,需要以下4个步骤。

删除.gitmodules文件中的相应条目。条目可能如下所述

[submodule "path_to_submodule"]
    path = path_to_submodule
    url = url_path_to_submodule

阶段更改gitadd.gitmodules删除子模块目录git-rm-cached<path_to_submodule>。提交gitcommit-m“Removed submodule xxx”并推送。

下面提到的另外两个步骤需要完全清除本地克隆副本中的子模块。

删除.git/config文件中的相应条目。条目可能如下所述

[submodule "path_to_submodule"]
    url = url_path_to_submodule

执行rm-rf.git/modules/path_to_submodule

第5步和第6步不会产生任何需要提交的更改。

这对我有用。上面的答案在终端中显示了这一点,没有发生其他事情

'fatal: not removing 'demolibapp' recursively without -r'

demolibapp是我要删除的子模块名称git子模块deinit分解git rm—缓存的demolibapp-rrm-rf.git/modules/demolibappgit add--全部gitcommit-m“删除额外的子模块”数字推送rm-rf脱模剂