Git을 사용하여 private repository를 clone하거나 접근할 때, 일반적으로 Personal Access Token(PAT)을 사용한다. 이를 위해 보통 git config --global
명령을 통해 인증정보를 URL에 포함시켜 사용하도록 설정한다.
대표적인 설정 명령어는 다음과 같다.
git config --global url."https://x-access-token:${TOKEN}@github.com/".insteadOf "https://github.com/"
그러나 위의 설정을 했음에도 불구하고 다음과 같은 인증 오류가 발생하는 경우가 있다.
remote: Invalid username or password.
fatal: Authentication failed for 'github address'
이 문제의 원인은 기존에 이미 설정된 global git config 값이 존재하기 때문이다. Git은 여러 개의 global 설정이 존재할 경우, 가장 먼저 등록된 값을 우선적으로 사용한다.
따라서 위와 같은 에러를 해결하기 위해서는 다음 두 가지 방법 중 하나를 사용할 수 있다.
해결 방법
방법 1: 기존 gitconfig 설정 제거
기존에 설정된 git global 설정이 필요하지 않다면 ~/.gitconfig
파일을 삭제하거나 내용을 수정하면 된다.
rm ~/.gitconfig
방법 2: git config 설정 초기화 (-unset-all
옵션 사용)
기존 설정을 초기화하고자 할 때는 다음 명령어를 사용한다.
git config --global --unset-all url."https://github.com/"
이후, 다시 처음과 같이 PAT를 포함한 URL 설정을 수행하면 정상적으로 동작한다.
git config --global url."https://x-access-token:${TOKEN}@github.com/".insteadOf "https://github.com/"
위 방법으로 설정을 정리한 후 다시 작업을 진행하면, 인증 문제가 정상적으로 해결될 것이다.