How to fix `rm -f .git/index`

Gabe Berke-Williams

Ever gotten this message?

fatal: Unable to create '/path/to/repo/.git/index.lock': File exists.

If no other git process is currently running, this probably means a
git process crashed in this repository earlier. Make sure no other git
process is running and remove the file manually to continue.

The way to fix this:

rm .git/index.lock

If you instead do this (note the lack of “.lock” at the end):

rm .git/index

then your git repo will behave in very weird ways. For instance, git status won’t work, and other things break in odd ways. Here’s the fix:

git read-tree --reset HEAD

You’ll lose unstaged changes, but you’ll have your repo back.

About thoughtbot

We've been helping engineering teams deliver exceptional products for over 20 years. Our designers, developers, and product managers work closely with teams to solve your toughest software challenges through collaborative design and development. Learn more about us.