I am having the same problem as this post - git update-index --assume-unchanged returns error
but I don't understand the answer marked as correct (I don't see that it explains how to fix the situation)
I do this and get this error:
$ git update-index --assume-unchanged web.config
fatal: Unable to mark file web.config
I was having the same problem as you, and had followed the same four steps that you indicated above, and had the same results. This included the fact that my file was listed when executing
git ls-files -o. However in my case, I also tried executing
git update-index --assume-unchanged against a file that was not listed when executing
ls-files -o, and I still received the same error "
fatal: Unable to mark file".
I thought that perhaps it was a bug, and downloaded the latest version of git, but this did not help.
What I finally realized is that this command is case sensitive! This includes the full path and file name. After updating path to the directory so that the full path was specified with proper casing, the command executed properly.
Note that this was with Git for Windows, so you're results may vary with other platforms.