I've seen many of the other threads about this and they don't help.
fatal: Unable to write new index file
I've been having this same problem for the last few days. Basically, without my knowledge the entire repo had been moved to a new filesystem, when I tried to run git status, it was suddenly reporting that every file in the repo had been udpated.
So, after much google scouring, I tried the following:
The only thing that managed to solve the issue was to copy the index file, delete the original and rename the copy.
I know its not really a 'solution' but now its magically working ><, with all files / branches intact. If anyone knows why this might have work, do tell.