git index.lock 파일은 커밋하려고 할 때 존재하지만 파일을 삭제할 수 없습니다 알았습니다. 루트가 발생한

‘git commit’을 수행하면 다음과 같은 결과가 나타납니다.

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

그러나 내가 할 때 ls project_path/.git/index.lock파일이 존재하지 않는다고 말하는 것입니다. 내가해야 할 일에 대한 생각이 있습니까? 또한 project_path / .git이 루트가 소유하고 있음을 알았습니다. 루트가 발생한 문제와 관련이 있는지 확실하지 않습니다.

자식 버전은 1.7.5.4입니다

편집 : 문제는 아마도 내가 실행중인 다른 프로세스, 아마도 프로젝트 디렉토리에 (나에게 알려지지 않은) 프로세스 인 것 같습니다. 컴퓨터를 다시 시작한 다음 커밋하는 데 아무런 문제가 없었습니다.



답변

이것은 오래된 답변 일지 모르지만 다음에이 솔루션이 필요한 사람에게 더 유용 할 것으로 기대합니다.

linux / unix / gitbash / cygwin에서 시도하십시오

rm -f .git/index.lock

Windows 명령 프롬프트에서 다음을 시도하십시오.

del .git\index.lock


답변

Windows의 경우 :

  • 관리자 권한으로 열린 powershell 콘솔에서
> rm -Force ./.git/index.lock
  • 그래도 작동하지 않으면 모든 git.exe 프로세스를 종료해야합니다
> taskkill /F /IM git.exe
SUCCESS: The process "git.exe" with PID 20448 has been terminated.
SUCCESS: The process "git.exe" with PID 11312 has been terminated.
SUCCESS: The process "git.exe" with PID 23868 has been terminated.
SUCCESS: The process "git.exe" with PID 27496 has been terminated.
SUCCESS: The process "git.exe" with PID 33480 has been terminated.
SUCCESS: The process "git.exe" with PID 28036 has been terminated.
> rm -Force ./.git/index.lock

답변

Visual Studio 2015 RC (v4.6.00057)를 SourceTree (v1.6.14.0)와 함께 실행하는 Windows 플랫폼에서도이 오류가 발생합니다.

솔루션 : 소스 트리를 소스 코드 관리자로 사용하려는 경우 Visual Studio에서 다음과 같이 소스 제어 제공자를 비활성화하십시오.

  1. 도구> 옵션> 소스 제어로 이동하십시오.
  2. 현재 소스 제어 플러그인을 다음과 같이 선택하십시오.

답변

  1. 자식이 여전히 실행 중인지 확인 (ps -ef | grep git)
  2. 그렇지 않은 경우 잠긴 파일을 제거하십시오.
  3. 그렇다면 처음에 git 프로세스를 종료하십시오.

답변

시험

rm -f ./.git/index.lock

다른 git 프로세스가 실행 중이 아니면 각 프로젝트의 index.lock 파일을 삭제하십시오.


답변

방금이 문제가 발생했습니다 … Gitbox에 결함이 있습니다. 따라서 문제가 발생한 GUI가 실행 중일 수 있습니다.


답변

이것은 중간에서 원점에서 당기기를 취소 할 때 발생합니다.

그래서 당신이 할 수있는 일은 .git 디렉토리에서 index.lock 파일을 수동으로 삭제하는 것입니다.

rm -f ./.git/index.lock

CD를 프로젝트 디렉토리에 넣고이 명령을 실행하십시오.


이 글은 Git 카테고리에 분류되었고 태그가 있으며 님에 의해 에 작성되었습니다.