‘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에서 다음과 같이 소스 제어 제공자를 비활성화하십시오.
- 도구> 옵션> 소스 제어로 이동하십시오.
- 현재 소스 제어 플러그인을 다음과 같이 선택하십시오.
답변
- 자식이 여전히 실행 중인지 확인 (ps -ef | grep git)
- 그렇지 않은 경우 잠긴 파일을 제거하십시오.
- 그렇다면 처음에 git 프로세스를 종료하십시오.
답변
시험
rm -f ./.git/index.lock
다른 git 프로세스가 실행 중이 아니면 각 프로젝트의 index.lock 파일을 삭제하십시오.
답변
방금이 문제가 발생했습니다 … Gitbox에 결함이 있습니다. 따라서 문제가 발생한 GUI가 실행 중일 수 있습니다.
답변
이것은 중간에서 원점에서 당기기를 취소 할 때 발생합니다.
그래서 당신이 할 수있는 일은 .git 디렉토리에서 index.lock 파일을 수동으로 삭제하는 것입니다.
rm -f ./.git/index.lock
CD를 프로젝트 디렉토리에 넣고이 명령을 실행하십시오.