无法从Git仓库中删除子模块

时间:2014-01-27 12:57:37

标签: git github git-submodules

我在Git仓库中有一个子项目,我想要删除但是我无法删除。在GitHub Web界面上,子模块显示为黑色(或灰色)文件夹图标,不可单击。

submodule in git repo

该文件夹存在一些问题,即使我的本地代码在该文件夹中有文件并且我推送到我的存储库,更改也不会应用于GitHub远程。不知何故,此文件夹被忽略。我检查它不在.gitignore文件中。

在尝试删除我使用的子项目时:

git submodule deinit submodule-name

但它给出了错误

  

错误:pathspec'submodule-name'与git已知的任何文件都不匹配。   你忘了'git add'吗?

这里有什么问题?

2 个答案:

答案 0 :(得分:24)

如果git submodule deinit失败(可能因为.gitmodules未列出该子模块),请尝试至少删除special entry中的the index

git rm --cached submodule-name
git commit -m "Remove submodule entry"
git push

灰色文件夹应该在GitHub上消失。

答案 1 :(得分:3)

这有效https://stackoverflow.com/a/1789374/1798394

git rm --cached path/to/submodule
rm -rf path/to/submodule