[TIL] Github git 계정 만료로 인한 Intellij 연동 오류 해결하기

Yebin Lee·2022년 7월 25일
0
post-thumbnail

한 시간 내내 고생하며 이것저것 찾아보다가 겨우 해결한 trouble shooting...

저번에 비슷한 오류를 겪은 오빠가 많이 도와줬다 ㅠㅠ 아직 내게도 Github가 어려운 존재라,, 정말 해결방법이 없는건가 싶어 머리도 아프고,, 힘들었다 ,,,,

해결하는 순간 든 생각 : "와, 이건 꼭 블로그에 저장해놔야지!"
그래야 다음 번에 같은 오류가 발생해도 해결할 수 있거든 ㅋㅋㅋㅋㅋ

🥲


저번 다른 협업 프로젝트를 클론한 뒤 테스트 해볼 겸 push 를 시도했는데 같은 오류가 나길래, 내가 무엇 하나를 빼먹고 안했나 싶어 다음에 오빠한테 물어보며 다시 해볼 생각으로 노트북을 덮었었는데 오늘도 같은 오류가 났다 !!! (아마 다른 사람들은 이게 무슨 말인지 모르겠지... 하하)

아무튼 결론은 앞으로 프로젝트 클론을 받아올 때는 Intellij를 관리자 권한으로 실행한 뒤 몇 가지 과정을 거쳐야 한다. 이제 그 과정을 적어놔야지 흐흐

사실 터미널 내용이 좀 날라가서 겪은 오류를 모두 적지는 못하지만, 해결 방법이라도...!


Please tell me who you are.

Run
	git config --global user.email "you@example.com"
    git config --global user.name "Your name"
   
to set your account's default identity.
Omit --global to set the identity only in this repository.

처음 git clone 을 받은 뒤 pull 을 받아 작업을 하고 push 를 하고자 commit message 를 날리면 저렇게 웃긴 문구가 뜬다. 내가 누군지 말하라니...! 으아

검색한 해결 방법으로는 대부분 다음과 같이 뜬다.

git config --global user.email "내 깃허브 이메일"
git config --globla user.name "내 깃허브 닉네임"

다음 명령어를 터미널에 입력하면 오류가 해결된다고 한다. 그렇지만 나는...?


error: could not lock config file C://.gitconfig: Permission denied

하 정말 왜 그러는거니 ㅠㅠ 사실 저 C 경로 그대로는 아니었고 내가 줄여서 쓴 거다.
터미널에 나오는 해당 주소에 .gitconfig 파일을 직접 만들어보기도 하고, 여러가지 방법을 시도해봤지만 해결 불가

error: could not lock config file C:/Program Files/Git/etc/gitconfig: Permission denied

이런 오류가 뜨길래 위와 똑같은 방법으로 해당 경로에 파일을 만져보려고 시도했지만 실패!


해결방법

이대로 실패인가... git bash를 다시 설치해야 하나... 무엇이 문제인가...
머리 싸매고 있던 도중 오빠가 Intellij 를 관리자 권한으로 실행해서 다시 clone 받아 작업해보자는 의견을 던졌다.

그때는 뭐라도 해봐야된다는 생각이었기에 주저하지 않고 작업한 모든 것을 버리고 껐다 켰다
(사실 작업한 거 복사해둠 ㅎㅎ)

관리자 권한으로 실행 후,

git clone 을 받아준다. 간단하게 방법 또 적어두고 가자면

File > New > Project from Version Control 을 누르면

다음과 같은 창이 뜨는데,
URL 부분에 내가 clone 받을 깃허브 Repo 의 주소를 넣어주면 된다. (아래 사진 참고)


아무튼 이렇게 clone 받고 나면

git config --system --unset credential.helper

이렇게 코드를 적어준다. 나도 뭔지 몰라서 찾아봤는데,
평소에 잘 쓰던 git 계정이 왜 갑자기 오류가 난 건진 몰라도,, (추정하기로는 아마 SSH KEY 만료가 문제였지 않을까 ... 아닌 것 같기도 하고 ㅎㅎ ㅠ ) 미리 저장되어 있는 git 계정 때문에 권한 문제로 git clone 이 잘 안되거나 push 가 안된다고 한다.

그래서 내 이메일과 닉네임을 제대로 입력해도 계속 not found 오류가 났던 것...!

이런 오류에는 기존의 credential 캐시를 삭제시켜줘야 한다.

git config --global --unset credential.helper

보통은 이 코드를 사용하지만 나는 아래 코드를 사용했다.

git config --system --unset credential.helper

system은 시스템 내의 모든 repository, 모든 사용자에 대해 적용되는 코드다.
나는 시스템 내의 repo 에서도 오류가 떴으니 ,, 총총 ,,


캐시를 삭제하고 나서는 똑같이 commit message를 날리고,

Please tell me who you are.

Run
	git config --global user.email "you@example.com"
    git config --global user.name "Your name"
   
to set your account's default identity.
Omit --global to set the identity only in this repository.

이런 문구가 또 뜨면

차례대로 입력해주면 된다.

push 이전인지 이후인지 정확히 기억은 안나지만,

Username for 'https://github.com':
Password for 'https://사용자@github.com':

이렇게 차례대로 username 과 password 를 입력하도록 터미널에 문구가 뜬다.
나는 내 사용자 이름을 입력한 후 깃허브 비밀번호를 입력했는데 오류가 뜬다.

이때는 내 깃허브의 액세스 토큰을 입력해주면 된다.


SSH KEY 새로 발급받는 방법은 다음과 같다.

내 github profile 화면의 오른쪽 상단에서 Settings 로 이동한다.

Settings 목록 중 가장 아래에 Developer settings 에 들어가준다.

그 다음, Personal access tokens 에 들어가서 Generate new token 을 눌러 새 토큰을 발급 받는다.

이름은 아무렇게나 하고, Expiration은 No expiration 으로 설정해준다. 그리고 아래 체크박스는 선택하지 않아도 되고 아무거나 선택해도 된다. (당장은)

이 과정을 거치면 엄청나게 긴 토큰 키를 보여주는데 한 번 밖에 안 보여주니까 만일을 대비해서 잠시 메모장에 복사해두는 것이 좋다.


다시 Intellij 터미널로 돌아와서

아까 이 과정에서 password 에 내 깃허브 비밀번호 대신 방금 발급 받은 토큰 키를 입력해준다. 그러면 연결 성공!

git config --global user.name "내 깃허브 닉네임"
git config --global user.password "토큰 키"

이 과정까지 거쳐주면 앞으로 이 프로젝트와 github push&pull 간의 관계에 있어서 더 이상의 오류란 없을 것이다 ㅠㅠ 드디어 성공 ❗


중요한 내용을 최대한 담아보고자 했는데 내 주저리주저리 말만 너무 많이 들어간 건 아닐까 살짝 걱정된다. 뭐, 다른 누군가가 이 글을 보고 작은 도움을 얻는다면 나는 너무 좋겠지만 내가 보려고 쓰는 글이기도 하니까...!

오류 하나를 해결하며 한 걸음 성장한 거 같아 기분이 좋다 ㅎㅎ 벌써 예빈시다. 3시 13분 ㅎㅎ...

내일의 나를 위해 오늘은 이만 자야겠다.


안녕 !

0개의 댓글