我在Git仓库中有一个子项目,我想要删除但是我无法删除。在GitHub Web界面上,子模块显示为黑色(或灰色)文件夹图标,不可单击。
该文件夹存在一些问题,即使我的本地代码在该文件夹中有文件并且我推送到我的存储库,更改也不会应用于GitHub远程。不知何故,此文件夹被忽略。我检查它不在.gitignore
文件中。
在尝试删除我使用的子项目时:
git submodule deinit submodule-name
但它给出了错误
错误:pathspec'submodule-name'与git已知的任何文件都不匹配。 你忘了'git add'吗?
这里有什么问题?
答案 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