원격 저장소에서 로컬 저장소로 clone한 후 로컬 branch를 생성했다.
그런 다음 원격 저장소에 branch를 push하려고 하는데 에러가 발생했다.
remote: Permission to nodephoenix/ECommerceProject.git denied to minzunim.
fatal: unable to access 'https://github.com/nodephoenix/ECommerceProject.git/': The requested URL returned error: 403
에러 메시지는 remote: permission to ~ denied ~ fatal: unable to access ~라고 뜨지만 organization에 owner로 등록되어 있어서 권한에는 문제가 없었다.
구글링을 해보니 여러 가지 해결 방법이 있는데 나는 다음 방법으로 해결했다. token을 새로 발급 받는 방법이다.
git credential-manager reject https://github.com
token 발급 받기
> github 로그인
> 우측 상단 Settings 클릭
> Developer settings 클릭
> Personal access tokens 클릭
> Generate new token 클릭
> repo 권한 체크
(*본인에 맞게 선택하면 되는데 일반적으로는 repo만 권한 부여)
token 복사하기 (한번만 볼 수 있으므로 잘 복사해야 한다.)
명령어 입력하기
git remote set-url origin https://{token}@github.com/{git_repository_url
// (github.com 이후 일부 url만 입력)
git status // 현재 checkout한 branch 확인
git checkout // 해당 브랜치로 checkout
git add .
git commit -m "커밋 메시지"
git push origin [브랜치 명]
push 성공! 🪄
문제를 해결한 후 안심한지도 겨우 이틀 후. 같은 문제가 또 발생했다.
그동안 push를 잘 하고 있었는데 아직 git 초보라 branch가 꼬여버리는 바람에 다시 원격 저장소를 clone 받기로 한 것이 발단이었다.
clone을 받고 로컬 branch에서 작업을 한 후에 push를 하려고 했는데 또 같은 에러가 발생했다 !!!!
아무래도 새롭게 clone을 받고 push를 할 때 github 자체에서 보안을 위해 자격 증명을 엄격하게 검사하는 것 같다. (어느 블로그에서 본 추측)
다시 구글링해보니 원격 저장소의 url이 제대로 설정되어 있지 않아서라는 글들이 많아 명령어로 확인해봤다.
git remote -v
확인 결과 원격 저장소의 url은 제대로 설정이 되어 있는 것 같았다.
결국 window 자격 증명에서 github 관련 자격 증명을 삭제한 후 git을 초기화하기로 했다.
이번에는 명령어를 쓰지 않고 직접 제어판 > 자격 증명을 접속하여 github 관련 자격 증명을 손수 삭제해줬다.
그리고 터미널에서 git을 초기화했다.
git init
그런 다음 push를 시도했다.
git push origin [원격 브랜치]
브라우저가 실행되더니 github 비밀번호를 입력하는 페이지가 떴다.
비밀번호를 입력하고 나니 정상적으로 push에 성공했다.
윈도우 자격 증명에 들어갔더니 github가 다시 추가되어 있었다.
fatal: unable to access ~
이 에러를 겪은 분들은
1) 일단 원격 저장소의 주소가 올바른지 확인하고 만약 잘못되어 있다면 다시 url을 설정해주고
git remote set-url origin [원격 저장소 주소]
2) url이 올바르다면 window 자격 증명에서 github 관련 자격 증명에서 삭제한 후
git 초기화를 하고 다시 push를 시도해보자.
안녕하세요..! 블로그 잘 보고갑니다. 혹시 git을 초기화하게되면 github계정이 삭제되는건가요?