2012-05-05 2 views
33

자식 GC를 실행하는 경우, 나는이 오류를보고 계속 :이 git gc 오류에 대해 무엇을해야합니까 /해야합니까? (RM : 거부 팩 권한을 해제 할 수 없음)

rm: cannot unlink 'pack-30b1ff2[reset of hash].pack': Permission denied 

나는이 오류에 대해 어떻게해야/수 있습니까?

업데이트

미안 해요, 더 많은 정보를 제공해야합니다. 예, 재부팅을 시도했습니다. 사실, 재부팅 전에 저에게 Gc 문제가 수정되었습니다.

나는 Git Gui를 열면 데이터베이스를 압축하라는 메시지를 표시하기 때문에이 문제 만 알게되었습니다. 나는 결국 Git Gui를 몇 차례 열어서 계속 나에게 메시지를 보냈다. 예를 클릭했는데 "성공"했다.

그럼 Git EXT의 설정 - Git maintenance - Compile git database 명령으로 실행 해 보았습니다. 이 명령은 오류가 있음을 알려주었습니다 (Git EXT에는 빨간불이, Git Gui에는 녹색 등이 있음).

위 오류는 위의 git gc를 git bash에서 직접 실행 한 것입니다.

디스크 검사를 예약해야합니까? 불량 섹터가 원인이 될 수 있습니까? 나는이 신속한 답변 :(

+1

권한을 확인하고 정상적으로 보이면 백업하고 파일 시스템을 확인하십시오. – Mat

+0

이것은 Windows 7에 있습니다. .git 폴더에 대한 사용 권한을 확인해야합니까? git이 내 사용자 계정으로 실행됩니까? 저는 관리자이고 .git 폴더에 대한 모든 권한을 가진 그룹입니다. – danludwig

+0

죄송합니다. Linux를 사용했습니다. Windows 사용 권한의 정확한 세부 사항을 이해하지 못합니다. 그러나 처음에는 관리자 계정으로 개발하지 않아야합니다. – Mat

답변

29

Windows에서 종종 실행중인 프로세스에서 잠금 장치로 인해 발생 "사용 권한이 거부되었습니다"가 될 것이라고 기대했다. 정체 힘내 EXT 스레드가 팩 파일이 열릴 가능성이 있습니다.

안전 모드에서 git gc을보십시오.

또 다른 옵션은 이전을 새로운 장소에서 저장소를 복제하고 삭제하는 것입니다.

+0

고마워, 나는 reclone을 피하는 것을 희망하고 있었다. 그래서 희망을 갖고 안전한 모드가 작동 할 것이다. 다음 재부팅시 시도합니다. – danludwig

+1

안전 모드조차 필요하지 않았습니다. 정상 부팅 후 git gc를 먼저 실행했는데 오류가 거부되었습니다. 감사. – danludwig

+0

@danludwig 정상 부팅 후 가장 먼저하는 일은 나에게도 큰 도움이되었습니다! 힌트를 가져 주셔서 감사합니다! – cregox

18

를 내 경우는 TortoiseGit이었다에. 내가 TortoiseGit 설정을 연 문제를 해결하기 위해 -> 아이콘 오버레이를 선택하고 상태 캐시를 "없음"으로 설정하십시오. 이제 proce ss TGitCache가 종료되었으므로 모든 객체가 git gc에서 처리 할 수있는 "자유"를 갖습니다.

enter image description here

+0

아, 바보 같은 거북이 .. – Lukman

1

당신은 명령을 잠금 명령이 발생하는 위치 콘솔을 종료해야합니다. 파일을 잠그고있는 VI 또는 죽은 명령 일 수 있습니다. 가장 쉬운 해결책은 모든 것을 닫고 다시 여는 것입니다. 문제없이 명령을 실행할 수 있어야합니다.