힘내 푸시 오류 : 이전 연결을 해제 할 수 없습니다 (권한 거부).
원격 서버에는 저장소의 자식 체크 아웃을하기 위해 수신 후 후크가 설정되어 있습니다.
#!/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 파일 권한을 수정하는 방법" 섹션은 "모두"가 사용자 설정 권한을 가지고 있음을 보여줍니다.
해당 디렉토리 / 파일에서 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
'Programing' 카테고리의 다른 글
폴스 루로 케이스 전환? (0) | 2020.05.24 |
---|---|
자식 분기에서 수정 된 모든 파일을 가져옵니다 (0) | 2020.05.24 |
한 서버에서 다른 서버로 redis 데이터베이스를 어떻게 이동합니까? (0) | 2020.05.24 |
튜플에 가변 항목이 포함될 수있는 이유는 무엇입니까? (0) | 2020.05.24 |
TypeError : 문자열 형식을 지정하는 동안 모든 인수가 변환되는 것은 아닙니다 (0) | 2020.05.23 |