[Trouble Shooting] Git

IxxI·2022년 11월 20일
0
post-thumbnail

Git Error : insufficient permission for adding object to repository database

.git/objects 의 directory에의 읽기/쓰기 권한이 부족하기 때문에 발생하는 문제였다.

  • git은 기본적으로 key-value의 저장소로 볼 수 있다. git에 데이터를 추가하면 git은 객체를 생성한 뒤에 해당 객체 내용의 SHA-1 해시값을 key로써 사용하게 된다.
  • 결과적으로 git내에 모든 내용물은 해당 Hash 값을 이용하여 찾아볼 수 있게 되어 있다.
  • git에서의 object의 종류에는 크게 4가지의 객체가 존재하는데,
    - blob, tree, commit, tag이다.

그래서 이 문제를 해결하기 위해서는 내가 사용하는 ubuntu 가상 환경에서 접속해서 모델을 학습 시키고 있었다는 것을 인지를 했어야 한다는 것이다.

  • 보니 .git/objects의 객체 목록에서의 권환이 일치하지 않음을 확인할 수 있었다.
    -> 그래서 .git/objects의 권한을 변경하였다.
sudo chmod -R 755 .git/objects
sudo shown -R ubuntu:ubuntu .git/objects
## 여기서 ubuntu:ubuntu대신에 <USERNAME>:<USERNAME>으로 각자의 username에 맞게 바꾸어서 실행 시키면 된다.

간단하게 알아보는 Linux 명령어들 (권환 변경 관련)

## 하위 경로의 소유자를 모두 변경한다.
chown -R <소유자>:<소유자 그룹> [파일 혹은 폴더]
## 소유자 자체를 변경한다.
chown <소유자1>:<소유자2> [파일 혹은 폴더]
## 소유자를 변경
chown <소유자1> [파일 혹은 폴더]
## 소유 그룹을 변경
chown :<소유 그룹1> [파일 혹은 폴더]

0개의 댓글