git에서 가져 오는 중 오류-저장소 데이터베이스 .git / objects에 개체를 추가 할 수있는 권한이 부족합니다.


112

"git pull origin develop"할 때마다 "insufficient permission for adding an object to repository database .git / objects"가 있습니다.

    remote: Counting objects: 70, done.
    remote: Compressing objects: 100% (7/7), done.
    remote: Total 42 (delta 35), reused 42 (delta 35)
    error: insufficient permission for adding an object to repository database     .git/objects

    fatal: failed to write object
    fatal: unpack-objects failed

1
뻔한 질문 : 당신이 수행 디스크에있는 파일에 대한 액세스 권한을?
Lasse V. Karlsen 2013 년

17
.git/objects파일 의 권한을 확인하십시오 . sudo과거의 어느 시점에서 실수로 사용 root하여 자신보다 소유권을 부여 했을 수 있습니다 .
Chris Hayes

@ChrisHayes 같은 문제가 발생하지만 어떤 .git / objects 파일입니까? 그 파일 / 디렉토리는 어디에 있습니까?
pedroremedios

1
@pedroremedios .git는 모든 git 저장소의 기본에 존재하는 디렉토리입니다.
크리스 헤이즈

답변:


255

@ChrisHayes가 우발적 인 sudo에 대해 옳다고 가정하면이 문제를 해결해야합니다. 저장소 내부에서 :

sudo chown -R $USER:$USER "$(git rev-parse --show-toplevel)/.git"

업데이트 : illegal group name오류가 발생 하는 사람들을 위해 대신 다음을 시도하십시오.

sudo chown -R $(id -u):$(id -g) "$(git rev-parse --show-toplevel)/.git"

7
무엇을 git rev-parse --show-toplevel합니까? chown -R user:user내 저장소의 최상위 디렉토리를 사용하여 문제를 해결할 수있었습니다 .
Matt K

9
@MattK 이것은 리포지토리의 최상위 디렉토리를 가져 오므로 명령은 현재 리포지토리의 위치에 관계없이 작동합니다. 이미 루트에있는 경우 실행할 수 있습니다sudo chown -R $USER:$USER .git
dwurf

7
나는 얻는다 : illegal group name
Ian

1
잘못된 사용자 이름을 사용하고있었습니다. 명령이 작동했습니다. 감사합니다.
Ian

1
그것은 또한 전에 우연한 sudo 후에 나에게 일어났습니다. 소유자 / 그룹 변경 문제 해결
Asped

10

프로젝트의 루트 디렉토리로 이동하여 아래 명령을 실행하여이 문제를 해결하십시오.

cd .git/objects
sudo chown -R yourname:yourgroup *

2

제 것은 어리석은 실수였습니다 ... 올바른 사용자 이름과 그룹이 설정되었지만 www-data는 이에 액세스하는 계정이었습니다. 이 디렉토리는 vaindil : www-data가 소유했지만 권한은 755이므로 www-data가 쓸 수 없습니다. 다음과 같이 수정했습니다.

$ sudo chmod -R 775 /path/to/repo


1

좋은 관행이 아님 (대안 일뿐)

나는 Ubuntu를 사용하고 있으며 동일한 문제에 직면했습니다. 이를 해결하기 위해 사용자를 루트로 전환하기 만하면 더 이상 오류가 표시되지 않습니다.

$su
password

그때,

$git pull origin master

권장 방법 : 디렉토리 권한 변경


4
이 방법은 작동 sudo하지만 가능한 한 루트 권한으로 명령을 실행하지 않는 것이 좋습니다.
dwurf

@dwurf 의견 주셔서 감사합니다. 위의 답변에 대한 대안이었습니다. :)
Nabin

1
해결책도 아닙니다-repo를 sudo로 사용하고 싶지 않습니다.
Wax Cage

1
@WaxCage 예,하지만 이미 거기에 크고 굵은 텍스트가 보이십니까? :)
Nabin
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.