대부분의 경우는 단일 사용자로 Git를 운영하겠지만 다양한 이유에 의해서 Git 사용자를 변경해야 하는 상황이 존재한다.
여기서는 이런 문제를 해결하는 방법에 대해서 알아본다.
git 설치 후에 기본 환경 설정을 했을 것이다.
# 전역 설정인 경우
$ git config --global user.name "user name"
$ git config --global user.email "user email"
# git 단위 설정인 경우
$ git config user.name "user name"
$ git config user.email "user email"
이런 상황에서 지정한 사용자로 Git에 로그인 한 후에 다른 사용자를 사용해서 push를 하면 다음과 같은 오류가 발생하게 된다.
$ git push origin master # terminal에서 실행한 것과 VSCode와 같은 IDE에 연동한 경우도 동일한 상황이 발생한다.
remote: Permission [git_url.git] denied to [user_id]
fatal: unable to acess `[git_url]`: The requested URL returned error: 403
...
오류 메시지 내용은 해당 사용자로 remote repository에 push할 권한이 없다는 것이다.
구글을 검색해 보면 대부분 아래와 같은 해법을 제시한다.
$ git config user.name "new user name"
$ git config user.email "new user email"
환경 설정을 바꿨기 때문에 지금 push 하려는 사용자와 로그인 사용자가 달라졌으므로 로그인을 다시 물어봐야 할 것 같은데, 실제로는 로그인을 다시 물어보지 않는다.
의외로 쉽게 해결하는 방법은 다음과 같다.
Mac 환경
Spotlight 검색 등으로 키 체인 접근
앱을 실행한다.
키 체인 접근 앱에서 로그인
을 선택하고 github.com
을 찾아서 더블클릭한다.
로그인 정보 창에서 계정
과 암호
를 변경하고 저장한다.
Windows 환경
오류의 원인이 로그인된 사용자 정보를 그대로 사용하려고 하는 것이기 때문에 터미널을 사용하던 VSCode와 같이 IDE에 연동해서 사용하던 이미 사용했던 로그인 정보를 삭제 또는 변경해서 로그인을 다시하면 쉽게 해결이 가능하다.