I have been working on a git project with a remote on Github. It contains several submodules.
When creating a submodule, my git client (Sourcetree) created a folder with an invisible character, which has been wreaking havoc. The folder has been pushed to Github, and I can't find a way to revert.
The submodule folder looks like it's named "cours-divers", but is displayed in Sourcetree as "cours020-divers", and shown as "cours?-divers" in Terminal.
Also, Sourcetree isn't able anymore to display the list of submodules.
What I attempted, after reading through related threads:
- Simply deleting it. Unfortunately, Git cannot properly track this file so it doesn't get deleted. Error message: fatal: pathspec 'cours020-divers' did not match any files
- Doing git reset --hard [revision]. This works fine for my local version, but the remote (Github) requires me to pull the changes. I would need to be able to reset the remote as well.
- Doing git checkout [revision] .Seems to bring things back to normal, but the problematic file is still polluting the project.
Is there a way to "go back in time" in such a way that Git effectively forgets about that file, both locally and on the remote?
 
     
    