GIT

Git 계정정보 초기화(git config clear), credential error 원인 및 해결방법

양찬우 2021. 6. 13. 12:24
728x90

오류

Git clone/push: fatal : authentication error
                                    or
Logon failed, use ctrl+c to cancel basic credential prompt.

 

원인

계정 정보의 불일치로 인해 인증이 실패한 상황에서 발생하는 에러다. 

git은 ID/PW를 입력해 계정 인증을 시도하면 계정 정보를 git config에 저장해 다음 인증 때 사용한다.

git config에 저장된 id/pw가 맞지 않아서 발생하는 error이다.

 

주요 발생 원인은 아래와 같다.

  • 온라인 상의 github에서 비밀번호를 수정한 후 로컬 git에 저장된 인증정보를 수정하지 않은 경우 
  • 처음 로컬 git에 인증정보 저장 시 ID/PW를 잘못 기입했을 경우  
  • 다른 저장소에서 사용하려는 config된 계정 정보가 현재 저장소에서 사용될 경우(git config space혼동) 

 

해결

잘못 저장된 정보를 삭제하고 새로운(올바른) 계정 정보를 입력하면 해당 에러를 제거할 수 있다. 

이 때 Git의 config에서 계정 인증 정보는 local, global, system의 범위로 저장할 수 있다.

  • local: 특정 저장소
  • global: 시스템의 특정 사용자
  • system: 시스템의 모든 사용자와 모든 저장소 

git credential 정보를 리셋하는 코드 (* 관리자 권한 필요)

// 1.local에서 unset
git config --local --unset credential.helper  

// 2.global에서 unset
git config --global --unset credential.helper 

// 3.system에서 unset 
git config --system --unset credential.helper

보통은 global 범위인 2번에서 리셋을 진행하면 해결된다. 현재 저장소의 정보를 단순히 잘못 입력했다면 1번으로 충분하고, global에 config를 저장할 때 잘못 기입했거나 github에서 수정됐다면 2번을 사용해야 한다.   

3번의 system unset을 하게 되면 무조건 문제가 해결되겠지만, 당연하게도 모든 사용자/저장소의 캐시도 삭제되기 때문에 이후 과거 인증 절차를 지난 모든 프로젝트에서 다시 번거롭게 인증을 진행해야 한다.

따라서 적용 범위를 잘 골라서 캐시를 리셋하는 것이 좋다.  

728x90