[GIT] remote: Invalid username or password 오류
새해를 맞아... 1일 1커밋 목표를 세웠다. 알고리즘 위주로 올리려고 하는데,, 알고리즘 문제를 풀고 푸쉬하려고 하니 갑자기
remote: Invalid username or password.
다음과 같은 오류가 발생했다.
로컬저장소와 원격저장소에 등록되어 있는 이메일이 달라서 잔디가 깔리지 않았는데 (귀찮아서 안 바꿨는데 이번에 맞춰줌..ㅎㅎ)
이번에 발생한 오류로 로컬과 원격저장소 이메일을 맞춰줘서 그런 건가? 하고 구글링을 해봤는데 토큰이 만료돼서 그런 것일수도 있다고,,, 하길래! 한 번 확인해봤다.
Settings 의 developer Settings를 들어가서, Personal access tokens의 Tokens(classic)을 확인해봤다.
(Fine-grained personal access tokens는 베타버전이라 그냥 클래식버전 사용 중이다.)
놀랍게도 어제자로 만료되었다...
새로 발급받는 방법은 우측의 Generate new token을 선택하여 클래식 버전을 선택한 후,
위와 같은 화면이 뜰텐데
Note에는 아무거나 적어주고 (나는 이름-날짜로 작성한다.)
Expiration (만료일자)는 선택할 수도 있고 커스텀 할 수도 있다. 하고싶은 대로 선택하면 된다.
Select scopes는 repo만 선택하여 총 5개의 repo만 선택되도록 한다.
이후 하단의 Generate token을 만들면 토큰이 발급된다.
발급된 토큰을 복사하고, 터미널에서
% git remote remove origin
기존 origin을 삭제한다.
% git remote add origin https://닉네임:토큰@github.com/repository
이후 위와 같은 방식으로 새로 추가해줘야 한다.
예를 들어 닉네임이 jy, 토큰이 1234, 레포지토리의 clone받을 시 주소가 https://github.com/닉네임/test.git 다음과 같다고 치면,
% git remote add origin https://jy1234@github.com/jy/test.git
위와 같이 입력해주면 된다.
origin을 신규로 추가하고 다시 커밋하면
% git push origin main
오브젝트 나열하는 중: 5, 완료.
오브젝트 개수 세는 중: 100% (5/5), 완료.
Delta compression using up to 8 threads
오브젝트 압축하는 중: 100% (3/3), 완료.
오브젝트 쓰는 중: 100% (4/4), 972 bytes | 972.00 KiB/s, 완료.
Total 4 (delta 0), reused 0 (delta 0), pack-reused 0
잘 푸쉬되는 걸 확인할 수 있다!