[Git] A lock file already exists in the repository 해결 방법

nini·2025년 8월 9일
0

⛔️ 문제 상황

$ git pull
A lock file already exists in the repository, which blocks this operation from completing.
  • 작업 도중 터미널을 강제 종료하거나, 다른 Git 프로세스가 실행 중일 때 발생
  • 락 파일이 남아 있어서 Git이 다른 작업을 막음


⚠️ 원인

  • Git은 내부 동작 중 데이터 무결성을 지키기 위해 .lock 파일을 사용

  • merge / rebase / reset / pull 중간에 비정상 종료되면 .lock 파일이 삭제되지 않고 남음

  • 같은 저장소를 다른 프로세스에서 동시에 조작 중일 때도 발생



❗️ 해결 방법

(1) 실행 중인 Git 프로세스 확인

ps -ef | grep git
  • 다른 Git 작업이 없으면 다음 단계로

(2) 락 파일 찾기

find .git -type f -name "*.lock" -print

(3) 락 파일 삭제

rm -f .git/index.lock
rm -f .git/ORIG_HEAD.lock

.lock만 지우고, 원본 파일은 삭제하지 말 것


(4) 작업 재시도

git status
git pull


🌱 예방 팁

  • Git 명령 도중 터미널 강제 종료하지 않기

  • VSCode나 IDE에서 Git 작업 중일 때 CLI에서 동시에 같은 작업 안 하기

  • CI/CD 환경에서는 병렬 Git 명령 실행 제한하기

profile
사용자를 고려한 디자인과 UX에 관심있는 개발자

0개의 댓글