Programing

힘내 푸시 오류 : 이전 연결을 해제 할 수 없습니다 (권한 거부).

crosscheck 2020. 5. 24. 12:52
반응형

힘내 푸시 오류 : 이전 연결을 해제 할 수 없습니다 (권한 거부).


원격 서버에는 저장소의 자식 체크 아웃을하기 위해 수신 후 후크가 설정되어 있습니다.

#!/bin/sh
GIT_WORK_TREE=/var/www/<website> git checkout -f

그러나 로컬 컴퓨터에서 서버의 git 리포지토리로 푸시하면 다음 오류 메시지가 나타납니다.

remote: error: unable to unlink old '<file>' (Permission denied)

이것은 거의 모든 파일에 대해 한 번의 오류 메시지로 여러 번 나타납니다.

그러나 git을 사용하여 변경할 수있는 README.txt 파일이 있습니다. 권한은 다음과 같습니다.

-rw-r--r--  1 <serverusername>  <serverusername>  2939 Aug  2 10:58 README.txt

그러나 소유자와 권한이 정확히 다른 파일은 오류가 발생합니다.

다른 웹 사이트의 다른 로컬 저장소에는 로컬 컴퓨터 사용자 이름이 소유자 인 파일이 있으며 원격 서버로 푸시하면 파일의 원격 서버 소유자를 존중하며 매력처럼 작동합니다.

분명히 권한 관련 오류 인 것 같지만 제안을 해결할 방법을 찾을 수 없습니다.


파일을 링크 해제해야 할 경우 파일이 아닌 파일에 대한 권한 'w'가 있어야합니다.


sudo chmod -R ug+w .;

이 명령은 문제를 해결합니다. 폴더에 대한 쓰기 권한을 부여합니다.


IDE를 사용하는 경우 문제는 파일이 일부 프로세스에서 사용되었다는 것입니다. 바람둥이가 파일을 사용하는 것처럼. 특정 프로세스를 식별하고 닫으십시오. 문제가 해결 될 것입니다.


나는 같은 문제가 있었고 위의 해결책 중 어느 것도 나를 위해 일하지 않았다. 문제가있는 폴더를 삭제했습니다. 그때:

git reset --hard

git 상태를 정리하기 위해 남아있는 파일을 삭제 한 후 다음을 수행하십시오.

git pull

마침내 효과가있었습니다.

참고 : 폴더가 예를 들어 빌드 파일이있는 공용 폴더 인 경우 파일을 다시 빌드해야합니다.


FWIW-비슷한 문제가 있었고 이것이 권한 모드를 넘어서서 그것을 완화했는지 확실하지 않습니다.이 문제로 분기를 사용하고있는 Eclipse를 닫는 중입니다.


이것은 오래된 질문이지만 Mac 사용자에게 도움이 될 수 있습니다.

Time Machine에서 수동으로 파일을 복사하는 경우 Time Machine을 통해 파일을 복원하는 대신 모든 것에 ACL추가 하여 권한을 손상시킬 수 있습니다.

예를 들어, 이 기사 에서 "Mac OS X 파일 권한을 수정하는 방법" 섹션은 "모두"가 사용자 설정 권한을 가지고 있음을 보여줍니다.

http://dreamlight.com/how-to-fix-mac-os-x-file-permissions의 잘못된 권한

해당 디렉토리 / 파일에서 ACL을 제거해야합니다. 이 수퍼 유저 답변 은 여기에 있지만 다음 명령은 다음과 같습니다.

sudo chmod -RN .

그런 다음 디렉토리와 파일에 적절한 권한이 있는지 확인할 수 있습니다. 750디렉토리와 644파일에 사용 합니다.


폴더에 대한 소유권에 문제가 있다고 생각하여 현재 사용자 소유권으로 설정하십시오.

sudo chown -R your_login_name /path/to/folder
해결책을 찾을 수 있습니다 [여기] [1]

서버가 Intellij에서 실행 중일 때이 오류와 다른 이상한 자식 오류가 발생합니다. 서버를 중지하고 git 명령을 다시 시도하면 자주 해결됩니다.


git reset --hard

나를 위해 일했다


git조차도 덮어 쓸 수없는 일부 파일은 쓰기 방지되어 있습니다. sudo chmod 775 foldername과 같이 쓰기를 허용하도록 폴더 권한을 변경하십시오.

그리고 git pull 다시


또한 루트 디렉토리 자체의 권한을 확인하십시오!

당신은 찾을 수 있습니다 :

drwxr-xr-x  9 not-you www-data  4096 Aug  8 16:36 ./
-rw-r--r--  1     you www-data  3012 Aug  8 16:36 README.txt
-rw-r--r--  1     you www-data  3012 Aug  8 16:36 UPDATE.txt

'permission denied'오류가 나타납니다.


당기면 지역 변경이 발생했을 수 있습니다.

추적되지 않은 파일을 추가하십시오.

git add.

스 태쉬 변경.

자식 숨김

로컬 변경 사항을 삭제하십시오.

자식 숨김 드롭

sudo 권한으로 가져 오기

sudo git pull 원격 브랜치

참고 URL : https://stackoverflow.com/questions/11774397/git-push-error-unable-to-unlink-old-permission-denied

반응형