error: cannot lock ref.. 'refs/tags' exists; cannot create 'refs/tags/

Your Git is complaining that a reference (rather than a directory) named refs/tags exists. It's not clear what would create that, but see if git rev-parse refs/tags produces a hash ID. If so, that reference needs to go away:

git update-ref -d refs/tags

after which git fetch should work.

If git rev-parse refs/tags fails (which it should—refs/tags itself should not be a valid name) then this is not the problem and it's not clear what the actual problem is.


Running

git remote prune origin

Worked for me. Not sure why this was the issue, but seems like there was a broken reference to a remote branch.