내가 생성한 repository 사용할 땐 문제없다가, 다른분이 생성한 Repository에 팀원으로 등록되어 git push를 하려고 하니 계속 아래와 같은 에러가 발생했다.
remote: Write access to repository not granted.
fatal: unable to access 'https://github.com/[...]/[...]git/': The requested URL returned error: 403
이리저리 찾아보니 기존 토큰으로는 새 repository를 사용할 수 없어서 생기는 문제인듯했다.
1. 내 프로필 - Settings - Developer settings - Personal access token - Tokens (classic) - Generate New Token을 클릭하여 새로운 토큰을 발급받아준다.
(참고 : https://devmango.tistory.com/83)
2. 터미널에서 아래와 같이 입력해준다.
git remote set-url origin https://[발급받은토큰]@github.com/[userId]/[git주소].git
ex) git remote set-url origin https://ghp_12alaslkj1230aljwelifjslk123@github.com/devmango1128/gitTest.git
3. git push 를 해준다.
git push
만약 git push 했는데 아래와 같은 에러가 뜨면 4번으로 이동.
! [rejected] main -> main (fetch first)
error: 레퍼런스를 'https://github.com/devmango1128/gitTest.git에 푸시하는데 실패했습니다
힌트: 리모트에 로컬에 없는 사항이 들어 있으므로 업데이트가
힌트: 거부되었습니다. 이 상황은 보통 또 다른 저장소에서 같은
힌트: 저장소로 푸시할 때 발생합니다. 푸시하기 전에
힌트: ('git pull ...' 등 명령으로) 리모트 변경 사항을 먼저
힌트: 포함해야 합니다.
힌트: 자세한 정보는 'git push --help'의 "Note about fast-forwards' 부분을
힌트: 참고하십시오.
4. 우선 git pull을 먼저 진행한다.
git pull
git pull을 입력했는데 아래와 같은 에러가 뜨면 5번으로 이동
힌트: You have divergent branches and need to specify how to reconcile them.
힌트: You can do so by running one of the following commands sometime before
힌트: your next pull:
힌트:
힌트: git config pull.rebase false # merge
힌트: git config pull.rebase true # rebase
힌트: git config pull.ff only # fast-forward only
힌트:
힌트: You can replace "git config" with "git config --global" to set a default
힌트: preference for all repositories. You can also pass --rebase, --no-rebase,
힌트: or --ff-only on the command line to override the configured default per
힌트: invocation.
5. git config pull.rebase false 를 입력한다. 그리고 git pull > git push를 하면 잘 된다.
git config pull.rebase false
git pull
git push
댓글