이 저장소에서 다른 자식 프로세스가 실행중인 것 같습니다


667

Git 사용법을 배우려고 노력 중이며 HTML, CSS 및 Javascript 파일로 작은 프로젝트를 만들었습니다. 기본적으로 빈 프로젝트에서 분기를 만든 다음 코드를 약간 변경했습니다. 변경 사항을 준비하려고 시도했지만 다음과 같은 오류 메시지가 나타납니다.

Another git process seems to be running in this repository, e.g.
an editor opened by 'git commit'. Please make sure all processes
are terminated then try again. If it still fails, a git process
may have crashed in this repository earlier:
remove the file manually to continue.

물론, 나는 빈 프로젝트를 일찍 커밋하려고하는 데 어려움을 겪었고 어쨌든 내가 어디에서 왔는지 알지 못했기 때문에 git bash를 종료했습니다.

이 문제를 해결할 방법이 있습니까? 아니면 새로운 저장소를 시작해야합니까?


1
아마도 다른 터미널 탭에서 분명히 다른 프로세스가 실행되고있는 것 같습니다.
Vincent Rodomista 2016 년

작업 관리자를 열고 다른 실행중인 것을 확인하십시오. Process Explorer를 설치 한 경우 Process Explorer를 사용하지 않을 수도 있습니다.
Tim Biegeleisen 2016 년

git bash, command line 또는 GUI를 사용하면 잠긴 git을 잠금 해제 할 수 있습니다
SalindaKrish

답변:


1292

디렉토리 index.lock에서 파일을 삭제 하십시오 .git.

rm -f .git/index.lock

이러한 문제는 일반적으로 두 git명령을 동시에 실행할 때 발생 합니다. 명령 프롬프트에서 하나, IDE에서 하나 일 수 있습니다.


7
다음 오류가 발생했습니다 : rm : '.git / index.lock'을 제거 할 수 없습니다 : 장치 또는 리소스 사용 중
Yuvraj Patil

8
다음으로 제거rm -f .git/index.lock
William Hampshire

CocoaPods의 경우을 제거하십시오 Podfile.lock.
LinusGeffarth

1
나도 일 했어, 고마워 이 답변이 아직 수락 된 것으로 표시되지 않은 이유가 궁금합니다. 명령 순서 : 1) 찾기 | grep '\ .lock $'2) rm -f ./.git/index.lock
Ankush

4
index.lock파일 이 없으면 확인하십시오. HEAD.lock· 제거하면 문제가 해결되었습니다.
Daniel Shatz

64

응용 프로그램의 루트 디렉토리에서 아래 명령을 사용하십시오. index.lock 파일이 삭제되고 활성 잠금이 해제됩니다.

rm .git/index.lock

git 플러그인이 있었기 때문에 Sublime-Text도 닫아야했습니다. 자식에 연결된 다른 IDE 가능성이 같은 문제가
닉 캐러 웨이에게

31

커밋 메시지를 삭제하면 도움이되었습니다.

rm .git/COMMIT_EDITMSG

그런 다음 말했다.

치명적 : 참조 'HEAD'를 잠글 수 없음 : '.git / refs / heads / [your-branch-name] .lock'을 만들 수 없습니다 : 파일이 있습니다.

지점 이름이 내 이름과 다를 수 있습니다. 수행하여이 잠금 파일을 삭제할 수 있습니다.

rm .git/refs/heads/[your-branch-name].lock

이것이 누군가를 돕기를 바랍니다.


3
이것은 나를 도왔으며 다른 대답은 나를 위해 아무것도하지 않았습니다.
CodyMace

1
이것은 백그라운드에서 docker-compose up으로 커밋하려고했을 때 효과적이었습니다.
John Spiteri

15

좋아, 나는 '$ git rm .git / index.lock'을 실행하여 작동하게했다.


5
git rm여기서 사용할 필요는 없으며 rm충분합니다. index.lockgit에 의해 추적되는 파일이 아닙니다.
Matthieu Moy

8

이것은 나에게 일어 났고 소스 트리가 잠금 파일이 존재한다고 계속 알려주는 동안 제거 할 파일이 없었습니다. 방금 다른 지점을 체크 아웃 한 다음 원래 지점으로 돌아와서이 변경으로 문제가 해결되었습니다.


7

위의 방법과 비슷하지만 제 경우에는 그중 몇 가지가 있습니다.

.git/refs/heads/<branch_name>.lock

이런 식으로 한 번에 모두 제거 할 수있었습니다

find -name "*.lock" -exec xargs rm {} \;

4

나를 위해 문제가 더 간단했습니다. 소스 트리에 있었기 때문에 일반 솔루션에 얼마나 적용되는지 잘 모르겠지만 실수로 내 마스터 지사에서 커밋되지 않은 변경 대신 커밋을 시도했습니다.

이것은 일반적으로 문제가되지는 않지만 이미 미리 커밋 메시지를 입력했기 때문에 내가했던 작은 스프린트를 위해 무엇을하고 있는지 추적 할 수있었습니다.

기본적으로 커밋되지 않은 브랜치에서 커밋을 시작했으며 실수로 마스터 브랜치에서 다른 커밋을 시작하려고했습니다.


4

CocoaPods를 사용하고 있고 어느 시점에서 업데이트 나 설치를 수동으로 중단 한 경우 (수동으로 종료 한 경우)

1) 분리 index.lock에 (파일 .git/index.lock)

2) Podfile.lock파일을 제거하십시오 .

3) 새로 만들기 pod update

4) 실패한 git 명령을 발행 해보십시오 (제 경우에는 git add .)


4

당신이 경우 창은 사용자가 오류가있을 것입니다 'rm' is not recognized as an internal or external command. rm은 Linux 명령이기 때문입니다. 따라서 Windows에서는 아래를 사용하여 폴더 index.lock안의 파일 을 제거 할 수 있습니다.git

del -f .git/index.lock

3

브랜치 가 손상 되었을 수 있습니다. 새 브랜치 git 브랜치 #check 브랜치를 만듭니다. 나는 새로운 지점을 만들고 일했다.

branch -b "main"
git checkout -b "main"  #main is new branch
git add .
git commit -m "all files"
git remote add origin #**YOUR REPO**  https://github.com/tarun-techmarbles/wp-dump-sql-git-push.git
git push origin main  #push with new branch 

3

위의 대안이 있지만 내 것을 해결하지 못했습니다. 내 경우에는 ./zshrc에서 "git"플러그인을 삭제하고 컴퓨터를 재부팅 한 다음 문제가 해결되었습니다. zsh 플러그인이 원래 git 명령과 충돌을 일으켰습니다.


3

동안이 오류가 발생했습니다 pod update. 의 디렉토리 index.lock에서 파일 을 삭제하여 해결했습니다 .cocoapods.git

rm -f /Users/my_user_name/.cocoapods/repos/master/.git/index.lock

누군가를 도울 수 있습니다.


2

당신이 직면하고있는 경우 다음 명령을 사용하여 또 다른 자식 프로세스를이 저장소 예에서 '커밋 자식'열 편집기를 실행 것으로 보인다. 모든 프로세스가 종료되었는지 확인한 후 다시 시도하십시오. 여전히 실패하면 git 프로세스가이 저장소에서 이전에 충돌했을 수 있습니다. 파일을 수동으로 제거하여 계속하십시오.

rm -f .git / index.lock

git reset 및 reset 명령 후 git status, git add 및 git commit -a 또는 git commit -m "메시지", git push origin master를 사용하십시오.


2

rm -f .git/index.lock삭제할 수없는 잠긴 파일이 있었기 때문에 도움이되지 않았습니다. 따라서 index.lock일부 응용 프로그램에서도 캡처되었습니다.

나는 Lock Hunter라는 Unlocker의 대안을 다운로드하고 두 파일을 모두 삭제했습니다. Git그들을 붙 잡았다.


2

SourceTree에서 파일을 준비하려고 할 때도 같은 문제가 발생했습니다.

이 문제를 해결하려면 프로젝트 디렉토리의 .git 폴더로 이동하여 index.lock을 수동으로 삭제하면 완료됩니다.


실제로 SourceTree에서 일반적으로 몇 초 기다렸다가 다시 시도하면 충분하다는 것을 알았습니다.
matt

2

다른 사람을 도울 수있는 경우 ... 명령 줄로 시도했지만 rm -f .git/index.lock작동하지 않았습니다 (터미널에 오류가 표시되지 않았습니다). 방금 폴더로 직접 가서 파일을 .git삭제했습니다 index.lock.

참고 : .git폴더는 루트 리포지토리에 있으며 숨겨져 있습니다. Mac : Cmd+ Shift+ .에서 숨겨진 파일을 봅니다.


2

나에게 솔루션은 IDE를 닫고 체크 아웃하는 것처럼 간단했습니다. 내 팀원이 PR을 수락하고 코드를 TFS를 통해 병합했습니다. .lock 파일을 제거하지 못했습니다.


2

index.lock여기에서 삭제 하십시오.

<path to your repo>/.git/index.lock

또한, 저장소에 서브 모듈이 index.lock있는 경우 여기에서 모두 삭제 하십시오.

<path to your repo>/.git/modules/<path to your submodule>/index.lock

1

삭제를 시도 .git/index했지만 작동하지 않아 제거가 끝나고 go이름이있는 모든 폴더를 제거한 다음 다시 설치하면 제대로 작동합니다!


1

어떤 이유로 든 나를 위해 :

rm .git/index.lock

작동하지 않았으므로 방금 .git 파일로 이동하여 수동으로 삭제하여 환상적으로 작동했습니다.


이 답변과 허용되는 답변의 차이점은 무엇입니까?
J. Doe

0

왜 rm과 del인지 궁금해하는 사람들을 위해 설명을 위해.

rm .git/index.lock - on a unix/linux system
del .git/index.lock - on a windows cmd prompt

-f작동하는 작업을 강제로 추가 할 수 있습니다 .


0

나는 같은 문제에 직면했다. 이 문제를 해결하기 위해 조금 더해야했습니다. 먼저 삭제 index.lock한 다음 기존 자식 저장소 위치에서 새로운 코드를 복제했습니다. 별도의 위치에서 코드를 변경했습니다. 나는 copiped .git폴더와 .gitignore파일을 내가 코드 변경을 만들었다 코드 폴더에 붙여 넣습니다. 그런 다음 커밋하고 푸시하려고했지만 원활하게 작동했습니다. 위의 해결 방법으로 문제가 해결되지 않으면이 임신이 도움이 될 수 있습니다.


0

SourceTree를 사용하여 동일한 문제가 발생했습니다 . 그러나 내 호스트에는 index.lock 파일 이 전혀 없었 습니다. pack-refs.lock 파일을 찾았 으며 파일을 삭제 한 후 문제가 해결되었습니다.


0

나는 같은 문제에 직면했다. 문제는 xml1.3GB 크기의 파일 (데이터 세트로 사용)로 코드를 푸시하려고 시도 했기 때문에이 파일을 추가 .gitignore한 다음 문제가 해결되었다.


0

질문 제목 ( "다른 저장소 프로세스가이 저장소에서 실행중인 것 같습니다")을 기준으로 여기에 표시되는 경우이 질문 제목의 메시지 앞에 다른 메시지가있는 경우 허용되는 답변을 직접 적용 할 수 없습니다. 아래 중 하나 :

fatal: cannot lock ref 'HEAD': Unable to create '/<PATH>/<TO>/<REPO>/.git/refs/heads/<BRANCH>.lock': File exists.

이 경우 .git / index.lock 대신 해당 파일 (.lock)을 삭제해야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.