I always use git checkout -f to revert changes to the last commit and never had any problems. Rarely though do I get into this weird state where it doesn't work and I have no idea what is going on.
When I do a git diff this is the result, there is a change in the permissions but why should I not be able to revert permissions?
This state probably happened after I moved the trace-pro folder to another location using mv command.

