None of the higher answers worked for me (and I don't have enough reputation to comment on this one). I've had chronic problems with git on Windows due to its case-insensitive filesystem, and this ended up manifesting as one of the likely symptoms. I received the lock-of-death message despite no lock existing when I attempted to
git fetch --prune
and the only solution was to delete my tracking branches:
git branch -d --remote origin/...
and then try again.