Xcode - error: pathspec '...' did not match any file(s) known to git
The problem is, indeed, the changing of a filename's case. For me this was because of my Macbook/OSX. Apparently Windows has the same 'thing'.
Cause: git isn't able to recognise a change from 'filename' to 'FileName'.
Here's a list of solutions for anyone stumbling upon this. All the solutions should be run at the project root:
The Permanent fix that will work on current and future projects
Change the git case setting. The file should be committed afterwards
git config core.ignorecase false --global
The Project only fix
git config core.ignorecase false
The just give me a line of code so I can move on fix - credit to Bruce
git commit -a -m "pathspec did not match any file(s) known to git fix"
The I get paid by the hour fix
Delete the file. Commit. Push. Add the file again. Commit. Push.
Based on your needs you may want to revert the settings. Do:
git config core.ignorecase true
This is not a proper way to solve the problem, but it's a workaround that may help others... Do this in your terminal:
git commit -m "<message>" <project dir>
Replace with your message, and with the directory of your project.
Git doesn't like renames where the source and destination differ only by case. (Windows-specific) See How do I commit case-sensitive only filename changes in Git? for solutions.