git rebase :“오류 : ‘file’통계를 할 수 없습니다 : 권한이 거부되었습니다.” 함께 스쿼시하는 것을

git을 사용하고 있으며 작은 커밋과 큰 커밋이 있습니다. 나는 git rebase두 커밋을 밀기 전에 함께 스쿼시하는 것을 사용하기로 결정 했습니다. (나는 전에 이것을 한 적이 없다.)

그래서 나는했다 :

git rebase -i HEAD~2

이것은 나에게 편집자를 주었다. 거기서 나는 이전 커밋을 고르고 나중에 커밋을 선택했다. 내가 저장했을 때, 자식은 말했다 :

오류 : ‘ filename ‘을 통계 할 수 없습니다 : 권한이 거부되었습니다

나중에 커밋에 sha1을 적용 할 수 없습니다 … 해당 커밋의 초기 텍스트 줄

지금:

  • 내가 할 때 커밋이 나타나지 않습니다 git log.
  • git status “현재 지점에 없습니다”라고 말합니다.
  • 하나의 파일은 수정 된 것으로 색인에 나열되고 두 개의 파일은 추적되지 않은 것으로 나열됩니다. 내 첫 번째 커밋에는 파일이 하나 뿐이고 두 번째 커밋에는 수십 가지가 있습니다.

어떻게 된 거예요!? 어떻게 고치나요?



답변

Windows 에서이 오류 만 보았으며 의미하는 것은 패치를 적용하려고 할 때 git이 파일을 수정하지 못하도록 차단 한 것입니다.

Windows는 실제로 필요하지 않을 때 프로세스에 파일에 대한 독점적 액세스 권한을 부여하는 경향이 있습니다. 과거 바이러스 검사기는 의심의 소스 중 하나 였지만 이것이 결정적인 증거는 아닙니다.

아마도 가장 쉬운 방법은 다음에 일어나지 않기를 희망하고 중단하고 다시 시도하는 것입니다.

git rebase --abort

git apply커밋 git이 실제로하기 전에 실제로 무엇을하려고했는지에 대한 지식과 사용을 시도 할 수 git rebase --continue있지만 모든 정직에서 나는 이것을 권장하지 않습니다. 내가 시도한 것을 보았던 대부분의 시간은 우연히 무언가가 빠지거나 엉망이 될 가능성보다 낫습니다.


답변

편집기, 탐색기 창, 명령 프롬프트 및 FTP 프로그램과 같이 폴더가 열려있는 모든 프로그램을 닫으십시오. 이것은 항상 Windows의 문제를 해결합니다.


답변

IDE (VISUAL STUDIO / ATOM 등)를 닫으십시오. 작동 할 수도 있습니다


답변

내 컴퓨터에서 이것을 볼 때 단지 “일부 프로세스가 파일을 연”것보다 나쁩니다. 파일의 실제 소유권은 I (관리자 권한으로 실행)가 재부팅 후에 만 ​​파일에 액세스 할 수있는 지점까지 연결됩니다.

내가 알 수있는 가장 가까운 것은 IIS가 문제의 일부입니다. 많은 파일을 수정 해야하는 두 가지 주요 지점을 전환하면 git은 IIS가 파일이나 디렉토리를 사용하려고하는 동안 파일이나 디렉토리 (일반적으로 DLL)를 삭제합니다. 이 시점에서 IIS 프로세스는 디스크의 파일을 잠겨 있고 아무도 소유하지 않은 것으로 버전을 자동으로 덮어 씁니다.

이 시점에서 IIS를 중지해도 작동하지 않습니다. 내가 찾은 최선의 방법은 다시 부팅하는 것입니다. 앞으로 주요 지점을 변경하기 전에 IIS를 중지해야합니다.

나는 그것이 실제로 질문에 대답하지는 않지만 다른 사람들에게 도움이 될 수 있음을 알고 있습니다.


답변

Windows에서는 해당 파일을 차단하는 TortoiseGIT 프로세스 일 수 있습니다. 작업 관리자를 열고 TGitCache.exe 프로세스를 종료하십시오 .


답변

방금이 답변 스레드를 우연히 발견했습니다-이 오류는 가짜 오류입니다. # error : stat ‘reddit / app / views / links’stat cannot cannot : Permission denied

병합하려고 할 때 이것이 전부입니다. 나는 몇 가지 답변을 읽은 다음 깨달았습니다 .Atom이 될 코드 편집기를 닫는 것만으로도 충분합니다.

편집기를 닫으면 “git merge”를 다시 실행하고 붐을 일으켰습니다.

무의미한 오류 : (


답변

vscode를 사용하는 경우 터미널을 종료하고 새 터미널을여십시오. 다른 터미널도 닫을 수 있습니다