Вопрос

I have a subproject in a Git repo that I want to remove but am not able to. On the GitHub web interface the submodules are shown with black (or grey) folder icons and are not clickable.

submodule in git repo

There are some issues with that folder that even if my local code has files in that folder and I push to my repository, changes are not applied on the GitHub remote. Somehow this folder is ignored. I checked that it is not in .gitignore file.

On trying to remove the subproject I used:

git submodule deinit submodule-name

but it gives error that

error: pathspec 'submodule-name' did not match any file(s) known to git. Did you forget to 'git add'?

What's the issue here?

Это было полезно?

Решение

If the git submodule deinit fails (maybe because the .gitmodules doesn't list that submodule), try to remove at least the special entry in the index:

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

The gray folder should then be gone on GitHub side.

Другие советы

This worked https://stackoverflow.com/a/1789374/1798394 :

git rm --cached path/to/submodule
rm -rf path/to/submodule
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top