현상
Git commit을 하기 위해 add를 시도할 때 아래와 같은 오류가 발생하면서 정상적으로 동작하지 않는 경우가 있다.
fatal: Unable to create 'E:/git_project/branch_test/.git/index.lock': File exists.
해결 방법을 정리해둔다.
원인
.git/index.lock은 해당 레포지터리에서 git 프로세스가 동작중일 때 다른 git 프로세스가 동작하는 것을 방지하기 위해 프로세스 실행 여부 확인 목적으로 생성되는 파일이다. 즉, git 프로세스를 실행하면서 index.lock 파일을 생성하고 실행을 종료하면서 삭제하는 식으로 동작하는 것 같다.
따라서 어떤 이유에서건 index.lock 파일이 정상적으로 정리되지 않았을 때 발생할 수 있는 오류이다.
해결
1. 실행 중인 git 프로세스 종료
동작하고 있는 git 프로세스가 있는지 확인한다. 만약 의도하지 않은 프로세스가 실행 중이라면 해당 프로세스를 종료하고 add를 재시도한다.
2. index.lock 파일 삭제
만약 실행 중인 git 프로세스가 없다면, index.lock 파일을 삭제한 뒤 add를 시도한다.
rm .git/index.lock
다른 파일을 삭제하지 않도록 주의한다.
참고 문서
https://jinseongsoft.tistory.com/151